JSON-Serialisierung für Netzwerk-Kommunikation
Verfasst: Mo Apr 08, 2013 12:38 am
Hi, vor einiger Zeit hatte ich ein kleines Networking-Framework auf Basis von SDL_net und C++ gebaut, um "Events" (effektiv Strukturen mit Primitivdaten, ohne Pointer oder STL-Container) via TCP zu senden und zu empfangen. Das ganze wollte ich durch Serialisierung etwas vereinfachen, indem ich keine Events mehr sende sondern direkt einen String (der meine serialisierten Daten enthält). Da ich aus meinen eigentlichen Daten eh die Events erstellen würde, kann ich genauso gut gleich einen String erzeugen... das ist wahrscheinlich einfacher zu handhaben.
Auf jeden Fall habe ich mir einige einfache Serialisierungen angesehen. INI-Dateien fallen raus, weil sie typlos speichern. XML ist mir zu viel drumrum, wenn ich die Daten via Netzwerk versenden möchte. Nun bin ich bei JSON stehengeblieben und habe mir eine kleine Library (420-Zeilen-Headerfile) gebastelt. Effektiv ist das eine kleine Datenstruktur die entsprechend der JSON-Syntax Daten serialisieren und deserialisieren kann.
Nun meine Frage: Ist JSON zur Serialisierung in meinem Fall geeignet? Ich möchte meine Daten mit möglichst wenig Overhead rumschicken - aber nicht ganz auf der Lowlevel-Schiene (d.h. byteweise, sondern eher zeichenweise - daher der Ansatz der Serialisierung). Ich weiß es gibt JSON-Bibliotheken wie Sand am Meer - aber irgendwie ging die Headerdatei recht schnell zu schreiben...
LG Glocke
Auf jeden Fall habe ich mir einige einfache Serialisierungen angesehen. INI-Dateien fallen raus, weil sie typlos speichern. XML ist mir zu viel drumrum, wenn ich die Daten via Netzwerk versenden möchte. Nun bin ich bei JSON stehengeblieben und habe mir eine kleine Library (420-Zeilen-Headerfile) gebastelt. Effektiv ist das eine kleine Datenstruktur die entsprechend der JSON-Syntax Daten serialisieren und deserialisieren kann.
Nun meine Frage: Ist JSON zur Serialisierung in meinem Fall geeignet? Ich möchte meine Daten mit möglichst wenig Overhead rumschicken - aber nicht ganz auf der Lowlevel-Schiene (d.h. byteweise, sondern eher zeichenweise - daher der Ansatz der Serialisierung). Ich weiß es gibt JSON-Bibliotheken wie Sand am Meer - aber irgendwie ging die Headerdatei recht schnell zu schreiben...
LG Glocke