2012-05-10 10 views
0

これは愚かな質問かもしれませんが、ネットワーク上でint配列を送信すると、バイトオーダーを使用する必要がありますか?言い換えれば、私はint a、b、c、d、int eを持っていると言う。[4]Int Array Byteネットワーク経由で注文する

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

私は以下を使ってeを送ります:write(socket、e、sizeof(e));

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

答えて

1

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

+0

受信側で同じサイズのint配列が必要です。例えばint x [4] –

0

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

関連する問題