0

これはばかげた質問かもしれませんが、ネットワーク経由で int 配列を送信する場合、バイト順序を使用する必要がありますか? つまり、int a、b、c、d、および int e [4] があるとします。

e[1] = a; e[2] = b; e[3] = c; e[4] = d;

今私は e を使用して送信します: write(socket, e, sizeof (e));

受信者はそれを順番に読むでしょうか?または、配列に格納する前に、a、b、c、d に htonl を使用する必要がありますか? ありがとう

4

2 に答える 2

1

受信者がネットワークバイトオーダーのsを期待している場合は、はい、送信する前にintそれぞれをネットワークバイトオーダーにする必要があります。int

于 2012-05-10T18:08:19.303 に答える
0

ネットワークはバイト順を気にしませんが、受信ソケットをホストするアプリケーションは気にします。送信アプリケーションがリトル エンディアンのバイト順を使用し、受信アプリケーションがビッグ エンディアンを使用する場合、必要なバイト反転を行う必要があります。

于 2012-05-10T18:11:26.883 に答える