网络数据流的地址:先发出的数据是低地址,后发出的是高地址

TCP/IP协议规定,网络数据流采用大端(big endian)字节序,低地址存高字节序,高地址低字节序(网络字节序)

        主机字节序一般采用小端(little endian)存储,低地址存低字节序,高地址存高字节序

例子:

int num=0x0102 01为高字节,02为低字节序
小端存储 02 01
大端存储 01 02

ntohs() 将一个无符号短整形数从网络字节顺序转换为主机字节顺序。
  printf("%ld\n",(eitP.tcp->th_dport)); 25834(网络字节序)
  printf("%ld\n",ntohs(eitP.tcp->th_dport)); 60004(主机字节序)
htonl()表示将32位的主机字节顺序转化为32位的网络字节顺序

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

 

相关文章:

  • 2022-12-23
  • 2021-10-03
  • 2021-09-05
  • 2021-09-27
  • 2021-07-25
猜你喜欢
  • 2021-05-23
  • 2021-11-14
  • 2021-10-29
相关资源
相似解决方案