网络数据流的地址:先发出的数据是低地址,后发出的是高地址
TCP/IP协议规定,网络数据流采用大端(big endian)字节序,低地址存高字节序,高地址低字节序(网络字节序)
主机字节序一般采用小端(little endian)存储,低地址存低字节序,高地址存高字节序
例子:
int num=0x0102 01为高字节,02为低字节序
小端存储 02 01
大端存储 01 02
ntohs() 将一个无符号短整形数从网络字节顺序转换为主机字节顺序。
printf("%ld
",(eitP.tcp->th_dport)); 25834(网络字节序)
printf("%ld
",ntohs(eitP.tcp->th_dport)); 60004(主机字节序)
htonl()表示将32位的主机字节顺序转化为32位的网络字节顺序
其他函数相类似,不一一举例了