1. 程式人生 > >主機序與網絡字節序解析

主機序與網絡字節序解析

32位 網絡 一個 小端 tcp print clas dport 字節順序

網絡數據流的地址:先發出的數據是低地址,後發出的是高地址

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位的網絡字節順序

其他函數相類似,不一一舉例了

主機序與網絡字節序解析