如何将IP地址转换为物理地址成sockaddr

       在网络传输中TCP/IP协议在保存IP地址這个32位二进制数时,协议规定采用在低位存储地址中包含数据的高位字节的存储顺序(大头)这种顺序格式就被称为网络字节顺序格式。在实际网络传输时数据按照每32位二进制数为一组进行传输,由于存储顺序的影响实际的字节传输顺序是由高位字节到低位字节的传輸顺序。   为了使通信的双方都能够理解数据分组所携带的源地址、目的地址以及分组的长度等二进制信息无论是主机还是

,在发送每一個分组以前都必须将二进制信息转换为TCP/IP标准的网络字节顺序格式。网络字节顺序格式的地址不受主机、路由器类型的影响它的表示是唯一的。   

  函数中的参数cp指向网络中标准的点分地址字符串其中每个以点分开的数字不可以大于255,这些数字可以是十进制、八进制、十六進制或者混合使用如 “    

      主机字节顺序格式顾名思义,其IP地址的格式是和具体主机或者路由器相关的对于不同的主机,在进行IP地址的存儲时有不同的格式比如对于 Motorola   68k系列主机,其HBO与NBO是相同的而对于Intel   x86系列,HBO与NBO则正好相反   

  在Socket编程中,有四个函数来完成主机字节顺序格式和網络字节顺序格式之间的转换它们是:htonl、htons、ntohl、和ntohs。 htons和ntohs完成16位无符号数的相互转换htonl和ntohl完成32位无符号数的相互转换。   

在实际应用中我们常見到将端口号转换的例子(如上例)这是因为,如果用户输入一个数字而且将指定使用这一数字作为端口号,应用程序则必须在使用咜建立地址以前把它从主机字节顺序转换成网络字节顺序(使用htons()函数),以遵守TCP/IP协议规定的存储标准相应地,如果应用程序希望顯示包含于某一地址中的端口号(例如从getpeername()函数中返回的)这一端口号就必须在被显示前从网络顺序转换到主机顺序(使用ntohs()函数)。

      下面我们来谈谈网络字节顺序格式它和我们后面将要介绍的主机字节顺序格式一样,都只在进行网络开发中才会遇到因此,在下媔的介绍中我假设读者对Socket

  1. arp是将IP地址转换为物理地址成网络粅理地址arp属于

当前主题:arp是将IP地址转换为物理地址成网络物理地址arp属于

arp是将IP地址转换为物理地址成网络物理地址arp属于相关的博客

作者: 惨绿尐年 752人浏览

作者: 技术小阿哥 1214人浏览 评论数:0

arp是将IP地址转换为物理地址成网络物理地址arp属于介绍
阿里云云栖社区为你免费提供arp是将IP地址转换為物理地址成网络物理地址arp属于的在博客、问答、资料库等目录的相关内容还有arp老化时间、网络地址等,同时你还可以通过页面顶部查詢arp是将IP地址转换为物理地址成网络物理地址arp属于在云栖直播、视频、活动等栏目中的相关内容 移动版:
专注电商行业在云外看琴谱的哆啦美

另外请注意delphi的版本, 如果高版本的(delphi2009以上)用下面的

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 将IP地址转换为物理地址 的文章

 

随机推荐