这是因为市场上的cpu不同而产生的。例如intel的cpu, 高位在右边,低位在左边,而摩托罗拉的cpu, 低位在右边,高位在左边。所以如果两台使用不同的cpu的计算机通过网络连接的话,将会出现错误。例如16位摩托罗拉传送的整形1,到intel机器上, 就变成了65535。
所以调用ntohl和hlton的目的在于,当将数据传送到网络上的时候,现将数据转换为固定的网络字节,接收端在将网络字节转换为适合本机cpu的字节顺序。
所以调用ntohl和hlton的目的在于,当将数据传送到网络上的时候,现将数据转换为固定的网络字节,接收端在将网络字节转换为适合本机cpu的字节顺序。