C++ では、次のようなデータ構造があります。
struct Data
{
int N;
double R;
char Name[20];
};
このデータは、クライアントから別のシステムのサーバーに送信する必要があります (データ構造体の配列を送信する必要がありますが、1 つずつ送信することもできます)。バイナリデータとして送信したいので、反対側でデータを抽出して同じ構造体型に入れます。
両方 (クライアントとサーバー) が同じコンパイラでコンパイルされている場合、sizeof(Data) と構造内のすべてのビット パディングは同じになります。ただし、サーバーは Linux を実行する 64 ビットであり、クライアントは 32 ビット Windows でさえある可能性があるため、データ内のデータの順序は異なる可能性があります。
私は正しいですか?この問題に対処する最善の方法は何でしょうか?