主机序与网络字节序解析
Posted kony9527
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了主机序与网络字节序解析相关的知识,希望对你有一定的参考价值。
网络数据流的地址:先发出的数据是低地址,后发出的是高地址
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位的网络字节顺序
其他函数相类似,不一一举例了
以上是关于主机序与网络字节序解析的主要内容,如果未能解决你的问题,请参考以下文章