网络字节序与主机字节序的转换函数实现

1、网络字节序:是TCP/IP中一种固定好的数据表示格式,它与具体的CPU,操作系统,传输方式无关,从而可以保证数据在不同主机之间传输时能够兼容。

2、主机字节序:即大端(Big Endian)与小端(Little Endian)模式;由CPU和硬件的设置方式相关。

3、为了进行转换 bsd socket提供了转换的函数 有下面四个

(BSD Socket 是UNIX系统中通用的网络接口,它不仅支持各种不同的网络类型,而且也是一种内部进程之间的通信机制)

 

①htons 把unsigned short类型从主机序转换到网络序(host to network short)
②htonl 把unsigned long类型从主机序转换到网络序(host to network long)


③ntohs 把unsigned short类型从网络序转换到主机序(network to host short)
④ntohl 把unsigned long类型从网络序转换到主机序(network to host long)


注意1:在使用Little Endian的系统中, 这些函数会对字节序进行转换 ,将字节序转换为Big Endian
注意2:在使用Big Endian类型的系统中,这些函数会定义成空宏

posted @   AnL11  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示