<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[Librarie C++&#x2F;C#&#x2F;Java] LibNet - Librarie network du projet Highlands MMO Framework]]></title><description><![CDATA[<p dir="auto">Bonjour à tous,</p>
<p dir="auto">Je développe en ce moment une librairie permettant de gérer des connexions réseau de la manière la plus simple possible (aussi bien niveau AS-I/O (Asynchrone Input Output) que S-I/O (Synchrone Input Output)).</p>
<p dir="auto">Le but étant de fournir un Framework réseau, pouvant être utilisé pour plusieurs choses (je vise principalement le gaming, puisque cette lib a été spécialement crée pour mon PFA (projet de fin d'année) à Epitech, qui est un MMO).</p>
<p dir="auto"><em><strong>Genèse</strong></em></p>
<p dir="auto">Dans le but de permettre une manipulation simple du réseau, et permettre de la modulation au projet, nous avons décidé de créer un Framework MMO avec mon équipe (le but principal étant d'utiliser ce framework pour un de nos projets, voir même le rendre public avec un engine fournis (bref, on réfléchit)).</p>
<p dir="auto">Pour ce faire, j'ai du développer une lib réseau, qui c'est plutôt concentrée sur un côté Framework (donc la lib gère aussi le lancement exécutif) et nous avons décidé de la partager. (vous pouvez trouver des informations sur ce framework (en C++ avec support Unity3D) <a href="https://www.facebook.com/pages/PFA-Marseille-Highlands-Framework/805015802897040?sk=timeline#" rel="nofollow ugc">ici</a>.)</p>
<p dir="auto">Plusieurs raisons pour ce partage:</p>
<ul>
<li>Nous aimons beaucoup le monde de l'OpenSource.</li>
<li>Les utilisateurs potentiels sont des développeurs, et peuvent donc nous faire des retours, voir même nous conseiller.</li>
<li>Le partage c'est le bien, nous avons beaucoup appris grâce aux partages, nous souhaitons nous aussi partager nos projet!</li>
</ul>
<p dir="auto">Bref, un projet OpenSource est né ![smile.png](&lt;<em><strong>base_url</strong></em>&gt;/applications/sslimageproxy/interface/image.php?url=<a href="http://forum.ironcraft.fr/public/style_emoticons/default/smile.png" rel="nofollow ugc">http://forum.ironcraft.fr/public/style_emoticons/default/smile.png</a> ":)").</p>
<p dir="auto"><em><strong>Généralités et avancement</strong></em></p>
<p dir="auto"><em>Mais des lib réseau, en C++, il y en a plein!</em> me direz-vous. Et je suis entièrement d'accord avec vous. Cela ne m'empêche pas de continuer à développer la lib, pour ceux qui en auraient besoin à un moment où un autre.</p>
<p dir="auto">Pour parler de l'avancement, je vais vous parler de ce qui est prévu, et de ce qui est fait.</p>
<p dir="auto">Ce qui est prévu (par ordre de priorités):</p>
<ul>
<li>La gestion du protocole WebSocket</li>
<li>Une version C# de la lib</li>
<li>Une version Java de la lib</li>
<li>Ajouter une protection par Mutex à la lib C++ (ça arrive, je trouve la meilleure façon de l'optimiser actuellement)</li>
</ul>
<p dir="auto">Ce qui est fait:</p>
<ul>
<li>Publication et développement de la version C++</li>
</ul>
<p dir="auto">Voilà.</p>
<p dir="auto"><em><strong>Objectifs</strong></em></p>
<p dir="auto">Les objectifs de la lib sont simples: Permettre à l'utilisateur de créer un serveur/client de manière simple et efficasse, en permettant le multi-plateforme/langage.</p>
<p dir="auto">Pour ce faire, je me suis basé sur la librairie réseau de Java, qui est très simple à utiliser, et j'y ai rajouté des objets préfaits. (Ainsi, nous pouvons trouver "TcpASIOServer" qui est l'objet qui permet de créer un serveur ASIO).</p>
<p dir="auto">Des exemples sont disponibles dans le dossier "test".</p>
<p dir="auto">Voici un exemple de serveur (sans listeners):</p>
<pre><code>#include &lt;mognetwork/Packet.hh&gt;
#include &lt;mognetwork/TcpASIOServer.hh&gt;
#include &lt;mognetwork/TcpASIOWriter.hh&gt;
#include &lt;stdio.h&gt;
#include &lt;iostream&gt;
#include &lt;exception&gt;

mognetwork::TcpASIOServer* server; // oui, cette global n'est pas cool, mais c'est pour des tests!

void shandler(int)
{
   std::cout &lt;&lt; "Stopping server..." &lt;&lt; std::endl;
   server.stop();
}

int main(void)
{
   mognetwork::TcpASIOServer server_instance(4242); // Cool, on prépare un serveur sur le port 4242!
   server = &amp;server_instance;
   signal(SIGINT, shandler); // On free tout quand on coupe le serveur, nanmého!
   std::cout &lt;&lt; "Starting server..." &lt;&lt; std::endl;
   try {
     server.start(); // On allume le serveur, il se coupera avec un CTRL+C
     std::cout &lt;&lt; "Server ended." &lt;&lt; std::endl;
   } catch (const std::exception&amp; e) {
     std::cerr &lt;&lt; e.what() &lt;&lt; std::endl;
   }
   std::cout &lt;&lt; "Finish." &lt;&lt;std::endl;
   return (0);
}
</code></pre>
<p dir="auto"><em><strong>Liens et sources</strong></em></p>
<p dir="auto">Voilà, je vous ai tout dis au niveau du projet, j'espère que vous serez nombreux à l'utiliser, et que j'aurais beaucoup de retours.</p>
<p dir="auto"><em>Sources:</em></p>
<p dir="auto">Version C++: <a href="https://github.com/AlexMog/LibNet" rel="nofollow ugc">https://github.com/AlexMog/LibNet</a></p>
<p dir="auto">Version C#: <a href="https://github.com/AlexMog/LibNetCSharp" rel="nofollow ugc">https://github.com/AlexMog/LibNetCSharp</a></p>
<p dir="auto">Version Java: <a href="https://github.com/AlexMog/LibNetJava/" rel="nofollow ugc">https://github.com/AlexMog/LibNetJava/</a></p>
<p dir="auto"><em>Documentation:</em></p>
<p dir="auto">Version C++: <a href="http://alexmog.labs-epimars.eu/projets/mognetwork-doc/doc/html/" rel="nofollow ugc">http://alexmog.labs-epimars.eu/projets/mognetwork-doc/doc/html/</a></p>
<p dir="auto">Version C#: A VENIR</p>
<p dir="auto">Javadoc: A VENIR</p>
<p dir="auto">N'hésitez pas à poster votre avis sur la lib, et vos retours ![smile.png](&lt;<em><strong>base_url</strong></em>&gt;/applications/sslimageproxy/interface/image.php?url=<a href="http://forum.ironcraft.fr/public/style_emoticons/default/smile.png" rel="nofollow ugc">http://forum.ironcraft.fr/public/style_emoticons/default/smile.png</a> ":)").</p>
<p dir="auto">Cordialement,</p>
<p dir="auto">AlexMog.</p>
]]></description><link>http://new.melinyel.net/topic/1381/librarie-ccjava-libnet-librarie-network-du-projet-highlands-mmo-framework</link><generator>RSS for Node</generator><lastBuildDate>Thu, 21 May 2026 17:53:18 GMT</lastBuildDate><atom:link href="http://new.melinyel.net/topic/1381.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 06 Dec 2014 04:47:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Librarie C++&#x2F;C#&#x2F;Java] LibNet - Librarie network du projet Highlands MMO Framework on Tue, 02 Jun 2015 12:18:58 GMT]]></title><description><![CDATA[<p dir="auto">La release stable finale est disponible.</p>
<p dir="auto">Avec un temps moyen de 0.025ms pour l'interprétation, LibNet est actuellement une des libs les plus performantes au niveau du réseau (sans proposer de "compilation" de packets", pour comparer, les tests portés sur Boost::ASIO donnent 0.215ms en moyenne pour l'interprétation).</p>
<p dir="auto">Dernière release disponible ici: <a href="https://github.com/AlexMog/LibNet/releases/tag/v172" rel="nofollow ugc">https://github.com/AlexMog/LibNet/releases/tag/v172</a></p>
<p dir="auto">Enjoy.</p>
]]></description><link>http://new.melinyel.net/post/16478</link><guid isPermaLink="true">http://new.melinyel.net/post/16478</guid><dc:creator><![CDATA[AlexMog]]></dc:creator><pubDate>Tue, 02 Jun 2015 12:18:58 GMT</pubDate></item><item><title><![CDATA[Reply to [Librarie C++&#x2F;C#&#x2F;Java] LibNet - Librarie network du projet Highlands MMO Framework on Fri, 19 Dec 2014 07:34:26 GMT]]></title><description><![CDATA[<p dir="auto">J'ai ajouté les mutex manquantes sur la lib, ce qui évitera la plupart des segfaults randoms dues à l'écriture et lecture simultanées.</p>
<p dir="auto">Modifications:</p>
<ul>
<li>C++ : Ajout des mutex, et réparation de la lecture infinie à la lecture du pipe sur le TcpASIOListener.</li>
</ul>
]]></description><link>http://new.melinyel.net/post/14619</link><guid isPermaLink="true">http://new.melinyel.net/post/14619</guid><dc:creator><![CDATA[AlexMog]]></dc:creator><pubDate>Fri, 19 Dec 2014 07:34:26 GMT</pubDate></item><item><title><![CDATA[Reply to [Librarie C++&#x2F;C#&#x2F;Java] LibNet - Librarie network du projet Highlands MMO Framework on Thu, 18 Dec 2014 06:24:37 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">Moi je dis bravo Alex ! <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
</blockquote>
<p dir="auto">merci à toi <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>http://new.melinyel.net/post/14613</link><guid isPermaLink="true">http://new.melinyel.net/post/14613</guid><dc:creator><![CDATA[AlexMog]]></dc:creator><pubDate>Thu, 18 Dec 2014 06:24:37 GMT</pubDate></item><item><title><![CDATA[Reply to [Librarie C++&#x2F;C#&#x2F;Java] LibNet - Librarie network du projet Highlands MMO Framework on Wed, 17 Dec 2014 14:01:41 GMT]]></title><description><![CDATA[<p dir="auto">Moi je dis bravo Alex ! <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>http://new.melinyel.net/post/14602</link><guid isPermaLink="true">http://new.melinyel.net/post/14602</guid><dc:creator><![CDATA[Eloha]]></dc:creator><pubDate>Wed, 17 Dec 2014 14:01:41 GMT</pubDate></item><item><title><![CDATA[Reply to [Librarie C++&#x2F;C#&#x2F;Java] LibNet - Librarie network du projet Highlands MMO Framework on Mon, 15 Dec 2014 08:58:06 GMT]]></title><description><![CDATA[<p dir="auto">LA documentation est passée en anglais pour aider aux utilisateurs non français dans l'utilisation de la lib.</p>
]]></description><link>http://new.melinyel.net/post/14585</link><guid isPermaLink="true">http://new.melinyel.net/post/14585</guid><dc:creator><![CDATA[AlexMog]]></dc:creator><pubDate>Mon, 15 Dec 2014 08:58:06 GMT</pubDate></item><item><title><![CDATA[Reply to [Librarie C++&#x2F;C#&#x2F;Java] LibNet - Librarie network du projet Highlands MMO Framework on Wed, 10 Dec 2014 18:21:44 GMT]]></title><description><![CDATA[<p dir="auto">La communication via packets entre C++ et C# est complètement fonctionnelle! YAY!</p>
<p dir="auto">Dernières màj:</p>
<p dir="auto">Java: Tests sur des packets... QUI MARCHENT PAS POUR L'INSTANT <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f61e.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--disappointed" style="height:23px;width:auto;vertical-align:middle" title=":(" alt="😞" /></p>
<p dir="auto">C++: Ajout de modifications pour préparer la compilation sur windows + adaptation de packet &gt;&gt; char*, qui utilise un int32_t au lieu de int64_t pour s'adapter au C#.</p>
<p dir="auto">C#: Packets fonctionnels avec le serveur C++!</p>
]]></description><link>http://new.melinyel.net/post/14537</link><guid isPermaLink="true">http://new.melinyel.net/post/14537</guid><dc:creator><![CDATA[AlexMog]]></dc:creator><pubDate>Wed, 10 Dec 2014 18:21:44 GMT</pubDate></item><item><title><![CDATA[Reply to [Librarie C++&#x2F;C#&#x2F;Java] LibNet - Librarie network du projet Highlands MMO Framework on Sun, 07 Dec 2014 21:08:52 GMT]]></title><description><![CDATA[<p dir="auto">Merci pour vos encouragements <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /> . Ca fais plaisir <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f604.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--smile" style="height:23px;width:auto;vertical-align:middle" title=":D" alt="😄" /></p>
]]></description><link>http://new.melinyel.net/post/14518</link><guid isPermaLink="true">http://new.melinyel.net/post/14518</guid><dc:creator><![CDATA[AlexMog]]></dc:creator><pubDate>Sun, 07 Dec 2014 21:08:52 GMT</pubDate></item><item><title><![CDATA[Reply to [Librarie C++&#x2F;C#&#x2F;Java] LibNet - Librarie network du projet Highlands MMO Framework on Sun, 07 Dec 2014 20:49:11 GMT]]></title><description><![CDATA[<p dir="auto">bon courage <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" /></p>
]]></description><link>http://new.melinyel.net/post/14516</link><guid isPermaLink="true">http://new.melinyel.net/post/14516</guid><dc:creator><![CDATA[cegdd]]></dc:creator><pubDate>Sun, 07 Dec 2014 20:49:11 GMT</pubDate></item><item><title><![CDATA[Reply to [Librarie C++&#x2F;C#&#x2F;Java] LibNet - Librarie network du projet Highlands MMO Framework on Sun, 07 Dec 2014 13:14:13 GMT]]></title><description><![CDATA[<p dir="auto">Bon courage, ça a l'air prometteur ! <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>http://new.melinyel.net/post/14509</link><guid isPermaLink="true">http://new.melinyel.net/post/14509</guid><dc:creator><![CDATA[Pirkoa]]></dc:creator><pubDate>Sun, 07 Dec 2014 13:14:13 GMT</pubDate></item><item><title><![CDATA[Reply to [Librarie C++&#x2F;C#&#x2F;Java] LibNet - Librarie network du projet Highlands MMO Framework on Sun, 07 Dec 2014 12:48:44 GMT]]></title><description><![CDATA[<p dir="auto">Énorme projet, mais comme tout ceux que tu entreprends, j'ai hâte de voir ce que ça donne. <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<p dir="auto">Si tu as besoin de quoique ce soit, n'hésite pas à demander ça à la communauté !</p>
<p dir="auto">Good luck dude. <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" /></p>
]]></description><link>http://new.melinyel.net/post/14508</link><guid isPermaLink="true">http://new.melinyel.net/post/14508</guid><dc:creator><![CDATA[Azad]]></dc:creator><pubDate>Sun, 07 Dec 2014 12:48:44 GMT</pubDate></item><item><title><![CDATA[Reply to [Librarie C++&#x2F;C#&#x2F;Java] LibNet - Librarie network du projet Highlands MMO Framework on Sat, 06 Dec 2014 14:05:49 GMT]]></title><description><![CDATA[<p dir="auto">Bonne chance pour ton projet <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=aa95655114f" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" /></p>
]]></description><link>http://new.melinyel.net/post/14495</link><guid isPermaLink="true">http://new.melinyel.net/post/14495</guid><dc:creator><![CDATA[Fantom3z]]></dc:creator><pubDate>Sat, 06 Dec 2014 14:05:49 GMT</pubDate></item><item><title><![CDATA[Reply to [Librarie C++&#x2F;C#&#x2F;Java] LibNet - Librarie network du projet Highlands MMO Framework on Sat, 06 Dec 2014 11:48:25 GMT]]></title><description><![CDATA[<p dir="auto">J'ai mis à jour le sujet en rajoutant le dépôt Java. Pour l'instant, j'ai fait uniquement des tests, qui s'avèrent être fonctionnels (j'arrive à communiquer correctement avec le serveur C++ ![smile.png](&lt;<em><strong>base_url</strong></em>&gt;/applications/sslimageproxy/interface/image.php?url=<a href="http://forum.ironcraft.fr/public/style_emoticons/default/smile.png" rel="nofollow ugc">http://forum.ironcraft.fr/public/style_emoticons/default/smile.png</a> ":)"))</p>
]]></description><link>http://new.melinyel.net/post/14493</link><guid isPermaLink="true">http://new.melinyel.net/post/14493</guid><dc:creator><![CDATA[AlexMog]]></dc:creator><pubDate>Sat, 06 Dec 2014 11:48:25 GMT</pubDate></item></channel></rss>