Int数组字节在网络上排序

时间:2012-05-10 18:05:55

标签: arrays int endianness

我知道这可能是一个愚蠢的问题,但如果我要通过网络发送一个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));

接收者会按顺序阅读吗?或者我需要在存储到数组之前使用htonl作为a,b,c,d吗?感谢

2 个答案:

答案 0 :(得分:1)

如果接收者期望网络字节顺序为int,则是,您必须在发送之前将每个int置于网络字节顺序中。

答案 1 :(得分:0)

网络不会关心字节顺序,但托管接收套接字的应用程序会。如果发送应用程序使用little-endian字节顺序而接收应用程序使用big-endian,则必须进行必要的字节反转。