socket编程中涉及到网络字节顺序,有关表述如下:
计算机数据存储有两种字节优先顺序:高位字节优先和低位字节优先。Internet上数据以高位字节优先顺序在网络上传输,所以对于在内部是以低位字节优先方式存储数据的机器,在Internet上传输数据时就需要进行转换,否则就会出现数据不一致。
下面是几个字节顺序转换函数:
·htonl():把32位值从主机字节序转换成网络字节序
·htons():把16位值从主机字节序转换成网络字节序
·ntohl():把32位值从网络字节序转换成主机字节序
·ntohs():把16位值从网络字节序转换成主机字节序
传输时可分两种情况
1.传输一个非单字节数据,这时要转换成网络字节顺序,
2.传输一个单字节数据,这时就不需要转换了,因为单字节数据无所谓高或低字节优先一说