为什么只有ip地址和端口号需要主机字节序到网络字节序的转换?

时间:2023-03-10 07:25:47
为什么只有ip地址和端口号需要主机字节序到网络字节序的转换?

答复是:因为内容是二进制流,不是整数。

整数(int、uint16、uint32)的表达,是需要多字节的,在不同cpu上,字节次序是不同的。因此,从A主机到B主机,如果是异构的,就需要做字节调整。同构是不需要的。然后网络就是如此,你不能约定对方的主机类型,因此,干脆都转。

内容的表达,就是二进制流,在不同类型的主机上并无差别,如何解释,应用自行决定。故而不必转。