主机序与网络字节序解析

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位的网络字节顺序

其他函数相类似,不一一举例了

 

以上是关于主机序与网络字节序解析的主要内容,如果未能解决你的问题,请参考以下文章

第五篇:主机字节序与网络字节序的转换

手把手写C++服务器(20):网络字节序与主机字节序大端小端与共用体

网络字节序与主机字节序的转换

网络字节序与主机字节序的转换

网络编程一主机字节序与网络字节序以及ip地址转换函数

网络字节序&大小端存储