Linux操作系统下的网络地址转换函数介绍

日期: 2008-05-20 来源:TechTarget中国

  在socket编程时,会出现指定了ip,端口号,却连不上,这是因为网络地址跟本地主机地址的字符顺序不一样导致的。
 
  在linux下提供了一些操作函数,如下:


  unsigned long int htonl(unsigned long int hostlong);


  用来将参数指定的32位hostlong 转换成网络字符顺序。


  unsigned short int htons(unsigned short int hostshort);


  用来将参数指定的16位hostshort转换成网络字符顺序。


  unsigned long int inet_addr(const char *cp);


  用来将参数cp所指的网络地址字符串转换成网络所使用的二进制数字。


  网络地址字符串是以数字和点组成的字符串,例如:“163.13.132.68”。


  int inet_aton(const char * cp,struct in_addr *inp);


  用来将参数cp所指的网络地址字符串转换成网络使用的二进制的数字,然后存于参数inp所指的in_addr结构中。


  char * inet_ntoa(struct in_addr in);
 
  用来将参数in所指的网络二进制的数字转换成网络地址,然后将指向此网络地址字符串的指针返回。


  unsigned long inet_network(const char *addr);


  这个函数需要一个在参数addr中包含一个点分隔的地址输入字符串。


  返回值是主机顺序的IP地址的32位值。


  The inet_lnaof() function returns the local host address part of


  the Internet address in. The local host address is returned in local host byte order.


  The inet_netof() function returns the network number part of the Internet Address in.


  The network number is returned in local host byte order.

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐