Jump to content

[Lib] LibNet


Recommended Posts

Salut à tous,

Je suis en train de revoir totalement ma lib réseau.

 

J'ai changé pas mal de principes. Entres autre, j'ai ajouté la possibilité d'avoir de l'Asynchrone, ce qui n'était pas possible avec l'ancienne lib.

La nouvelle lib est faite pour fournir plusieurs outils, et pour fonctionner aussi bien sur Linux que sur Mac et Windows!

 

Pour l'instant elle est en état de développement, mais plusieurs objets sont déjà fonctionnels.

 

Voici le nouveau git qui lui est dédié: https://github.com/AlexMog/LibNet

 

Une documentation HTML et LaTeX est disponible dans le dossier doc ou ici: http://alexmog.labs-epimars.eu/projets/mognetwork-doc/doc/html/

 

N'hésitez pas à la tester et à me faire des retours!

 

Enjoy!

 

Mog.

 

Salut à tous!

Vous avez toujours été intéréssés par le réseau, mais vous n'avez encore jamais pu travailler dessus car le fais de créer un serveur vous rebute? Du moins, le côté réception et envois de données vous est assez difficile à comprendre?

 

Voici donc qui va vous plaire: Mog-Network.

 

Mais kesako?

Mog-Network est une librairie C++ qui a pour but de créer l'instance du serveur/client à votre place (en autre terme: créer l'instance d'écoute du serveur et du client). Il ne vous restera donc plus qu'à créer le code sans vous soucier du listening ;).

 

Cool! Mais comment je sais quand je reçois quelque chose?

C'est très simple! Une Interface (IClientListener (pour le serveur) et IServerListener (pour le client)) vous est fournie avec ce package, contenant plusieurs méthodes pouvant vous aider, lors de la connexion d'un nouveau client, la déconnexion et la reception d'informations!

 

J'espère que ça en aidera beaucoup, et que j'aurai pas mal de retours :)

 

C'est cette lib que j'ai codé (en début de 2nd année, donc elle mérite d'être re-codée un petit coup (je le ferais certainement dans une v2)) qui m'as permis de valider pas mal de bonnus sur Epitech, donc amusez-vous bien avec :). (ATTENTION: Si vous êtes d'Epitech, et que les libs sont interdites, évitez de les utiliser :))

 

ATTENTION x2: Cette lib n'est actuellement compatique que sous LINUX. Je l'adapterais sur windows dans une prochaine version (il me faudra des testeurs dans tous les cas.)

 

J'espère que ça vous aidera ;)

 

Lien GitHub: https://github.com/AlexMog/MogNetwork

 

Installer la lib:

Téléchargez la lib (git clone https://github.com/AlexMog/MogNetwork.git), ensuite allez dans le dossier de la lib (cd MogNetwork), lancez la commande suivante:

make fclean && make && sudo make install

La lib est maintenant installée!

HAVE FUN :)

 

Wiki: https://github.com/AlexMog/MogNetwork/wiki

 

Enjoy!

Alexmog.

Edited by AlexMog
  • Upvote 4
Link to post
Share on other sites

Très bonne idée. Alex s'ennuie tellement qu'il code ses bibilothèques maintenant, c'est fabuleux. \o/

Faudrait chercher pour lui trouver une utilité pour Melinyel, tiens.
+1 Rep. :)

  • Upvote 1
Link to post
Share on other sites
  • 5 months later...
  • 2 weeks later...
  • 4 months later...

Une nouvelle release a eu lieu.

Cette nouvelle release optimise la version C++ de la Lib.

On passe ainsi de 0.425ms (localhost, réception) de temps de réponse à 0.025ms (en moyenne, en local, réception).

La version dev de la lib C++ bénéficie aussi d'une réadaptation, avec un nouveau système de gestion des protocoles de communication.

Ainsi, la librairie était limitée à son propre fonctionnement avant, celle-ci peux maintenant fonctionner avec n'importe quel protocole de communication, qu'il soit textuel, ou bien binaire.

 

(Les protocoles Binary (celui par défaut de la lib), TelNet et Line sont d'ailleurs en cours de développement, et il est possible de créer son propre protocole. Ainsi, la lib peux maintenant supporter des requêtes HTTP, FTP, et tout autres protocoles disposant d'une RFC sur laquelle se baser, ainsi, la librairie est utilisable partout. La release de ce système arrivera courant mai, mais il est déjà possible de la tester via la branche de dev (develop)).

 

Une version Windows de la lib C++ est en train d'arriver aussi, mais je n'ai pas encore d'approximations pour la sortie de celle-ci.

 

Branche Release: https://github.com/alexmog/libnet

Branche Dev: https://github.com/AlexMog/LibNet/tree/develop

 

 

Voilà,

Je vous souhaite une très bonne soirée!

 

Cordialement,

AlexMog.

Link to post
Share on other sites

Bonjour,

Excellente nouvelle, la lib est enfin fonctionnelle sur Windows!

Enfin, fonctionnelle à première vue, j'ai pas encore pu faire de tests poussés dessus pour l'instant.

 

La version windows n'est disponible que sur la branche "develop".

 

Enjoy!

 

AlexMog.

Link to post
Share on other sites
  • 2 weeks later...

Bonjour à tous,

Une nouvelle release a eu lieu. Celle-ci permet de fixer les problèmes de communication entre 64/32bits ainsi que des problèmes au niveau de la sérialisation des packets.

Télécharger cette release: https://github.com/AlexMog/LibNet/releases/tag/v172

 

Cordialement,

AlexMog.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...