Suche im ganzen Web nach Möglichkeiten, Daten in C serialisieren, so dass ich eine Struktur über einen TCP/IP-Socket senden konnte, konnte ich nichts Einfaches finden. Aber ich denke, auf diese Weise können Sie die Positionen der Bits in einem Paket fixieren und so "de facto" serialisieren.Serialisierung in C mit malloc
packet *datapkt = NULL;
datapkt = (packet*)malloc(PKT_SIZE); // Allocation of memory with this size
datapkt->field = data;
......
send(datapkt);
free(datapkt);
Kann mir jemand sagen, ob das eine gute Idee ist? Bis jetzt funktioniert es in meinem Projekt.
Vielen Dank im Voraus!
Es gibt eine Wäscheliste mit Gründen, Vorsicht walten zu lassen, wenn man Strukturen in Form eines Speicherlayouts über eine Leitung zu einem fremden Host, [endianness] (https://en.wikipedia.org/wiki/Endianess) und der Plattform verschiebt. padding and packing] (http://stackoverflow.com/questions/4306186/structure-padding-and-packing) in der Nähe der Spitze der Liste. Wenn das, was du machst, "funktioniert", stelle sicher, dass es so ist, und nicht zufällig. – WhozCraig