Lib : Sockets / serilizer réseau April 23, 2013 au Oct. 30, 2013

Dans le cadre du projet Harpe, j’ai eu besoin de mettre en place un système de communication client serveur.
Mon besoin était l’envoie de structures de données en binaire (pour des raison de performance).
Le problème principale est que les clients ne sont pas forcément sur les même architecture, et l’interprétation des donnée pouvaient donc être mauvaise (BIG/LITTLEENDIAN).
J’ai donc réalisé un serializeur de donnée, qui respecte la norme (big endian sur le réseau). Il permet de convertir les types primitifs (char, short, int, float, double, char*), mais également de les récupérer (avec les opérateurs de flux << et >>).
À partir de cela il devient facile de créer des méthodes pour envoyer / recevoir des structures plus complexes.

De plus, j’ai également créer un classe permettant de manipuler les Socket plus simplement (basé sur celles de la lib C).

Il y a également un Manageur de sockets, qui permet de manière transparente de gérer des sockets dans un certain nombre de thread.

Il y a également tout un système de mis en place pour concevoir aisément une serveur/client RPC.

Github : https://github.com/Krozark/cpp-Socket

Technologies: C, C++11