关于网络字节顺序

  socket编程中涉及到网络字节顺序,有关表述如下:

计算机数据存储有两种字节优先顺序:高位字节优先和低位字节优先Internet上数据以高位字节优先顺序在网络上传输,所以对于在内部是以低位字节优先方式存储数据的机器,在Internet上传输数据时就需要进行转换,否则就会出现数据不一致。 
  下面是几个字节顺序转换函数: 
·htonl():把32位值从主机字节序转换成网络字节序 
·htons():把16位值从主机字节序转换成网络字节序 
·ntohl():把32位值从网络字节序转换成主机字节序 
·ntohs():把16位值从网络字节序转换成主机字节序 

传输时可分两种情况

1.传输一个非单字节数据,这时要转换成网络字节顺序,

2.传输一个单字节数据,这时就不需要转换了,因为单字节数据无所谓高或低字节优先一说

你可能感兴趣的:(socket)