关于字节序 字节序指的是一个大于2个字节的类型的数据例如int、long等在内存中的字节顺序。字节序分为:网络字节序(BigEndian)比如0x11223344,占四个字节,那么他的网络字节序在内存中就是按照44332211排列,也就是BigEndian是低位存储在内存的高地址,高位存储在内存的低地址。主机字节序(LittlrEndian)比如0x11223344,占四个字节,那么他在网络字节序中就是按照11223344排列,也就是BigEndian是低位存储在内存的低地址,高位存储在内存的高地址。最后 我们在网络编程中一定要注意,数据是按照网络字节序也就是BigEndian排列 的,需要在主机字节序和网络字节序之间进行转换一下。 为了进行转socket提供了转换的函数有下面 htons把unsignedshort类型从主机序转换到网络序 htonl把unsignedlong类型从主机序转换到网络序 ntohs把unsignedshort类型从网络序转换到主机序 ntohl把unsignedlong类型从网络序转换到主机序