我知道这可能是一个愚蠢的问题,但如果我要通过网络发送一个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吗?感谢
答案 0 :(得分:1)
如果接收者期望网络字节顺序为int
,则是,您必须在发送之前将每个int
置于网络字节顺序中。
答案 1 :(得分:0)
网络不会关心字节顺序,但托管接收套接字的应用程序会。如果发送应用程序使用little-endian字节顺序而接收应用程序使用big-endian,则必须进行必要的字节反转。