Cでデータをシリアライズする方法をウェブ全体から検索して、TCP/IPソケットを介して構造体を送ることができました。しかし、私はこの方法では、あなたはパケットのビットの位置を修正することができ、したがってそれを "事実上"直列化することができると思います。Cでmallocを使ってシリアライズ
packet *datapkt = NULL;
datapkt = (packet*)malloc(PKT_SIZE); // Allocation of memory with this size
datapkt->field = data;
......
send(datapkt);
free(datapkt);
これはいい考えですか?これまでのところ私のプロジェクトで働いています。
ありがとうございます!
メモリーレイアウト形式の構造を外部ホスト[endianness](https://en.wikipedia.org/wiki/Endianness)およびプラットフォーム[http://www.wikipedia.org/wiki/Endianness]にプッシュする際には注意が必要です。パッディングとパッキング](http://stackoverflow.com/questions/4306186/structure-padding-and-packing)がリストの一番上にあります。あなたがやっていることが "働いている"なら、偶然ではなくデザインによってそうしていることを確認してください。 – WhozCraig