网上的大端或小端?

Twi*_*day 18 network-protocols endianness

在网上发生数据传输的字节顺序是什么?是Little Endian还是big endian?一旦数据到达主机,它如何转换为相应的字节顺序?

bri*_*zil 23

"网络字节顺序"是Big Endian,TCP等协议将此用于整数字段(例如端口号).可以使用htons和ntoh等函数进行转换.

除非您使用的是表示层(如XDR),否则数据本身没有任何完全由应用程序定义的字节序.


Mat*_*del 5

它按照您发送的顺序进行传输。

传统上,互联网协议使用大端字节序,因为进行大部分通信的机器都是大端字节序。

但是,如果您定义自己的结构以通过网络发送,则无需遵循该约定。

在 C 编程中,通常使用 htons 或 ntohs 宏来进行转换。