0

我知道这可能是一个愚蠢的问题,但是如果我要通过网络发送一个 int 数组,我需要使用字节排序吗?换句话说,假设我有 int a, b, c, d 和 int e [4]

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

现在我发送 e 使用:write(socket, e, sizeof (e));

接收者会按顺序阅读吗?或者我需要在存储到数组之前将 htonl 用于 a、b、c、d 吗?谢谢

4

2 回答 2

1

如果接收者期望ints 以网络字节顺序排列,那么是的,您必须int在发送之前将每个都放入网络字节顺序。

于 2012-05-10T18:08:19.303 回答
0

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

于 2012-05-10T18:11:26.883 回答