大端小端是一种存储方式,差别在于大端是将高字节的存放在低地址区,低字节存放在高地址区;小端是将高字节存放在高地址区,低字节存放在低地址区。
所以在TCP信息交互的时候,为了不会因为大端小端的因素,将信息的读取产生差异,所以在发送端将主机字节序转换成网络字节序(ntohl,ntohll,ntohs)
相应的在接收端将网络字节序转换成主机字节序(htons,htonl,htonll)
#include<stdio.h> int main() { int num = 0x12345678; printf("01 = %x ",((char *)&num)[0]); printf("01 = %x ",((char *)&num)[1]); printf("02 = %x ",((char *)&num)[2]); printf("03 = %x ",((char *)&num)[3]); }
根据输出是大端。