网络字节序

htons
htonl

uint32_t val;  //htonl
uint16_t val2;//htons  

得要用返回值接收  


gdb   调试程序
p /x val      //十六进制打印
发现结果
    每个地址两个字节 在前面放后面对应的位置
例如 
0x0101   uint16_t 类型  htons    --->返回0x0101   这种情况下没有变化
0x0110   uint16_t 类型  htons    --->返回0x1001    可以看出发生变化

    所以原值对于返回值有不同的情况  有的发生变化 而有的却没有

同样  
端口   如果cpu是x86结构的那么需要进行主机字节序到网络字节序的转换,有些CPU结构的则不需要 因为其传输的本身也就是主机字节序就是大端模式,不需要转换
而对于网络地址ip 由于使用inet_addr()函数 则不需要再进行转换 已经成功转换成功!








posted @ 2016-01-16 18:06  cloudren2020  阅读(91)  评论(0编辑  收藏  举报