当前位置:  技术问答>linux和unix

gethostbyaddr函数老是返回为null 但是查看errno又说成功(success) 为什么求助 深夜求帖

    来源: 互联网  发布时间:2016-05-05

    本文导语:  gethostbyaddr函数老是返回为null (gethostbyname也是)但是查看errno又说成功(success) 为什么  函数是这样的    int main(int args, char *argv[]) {          struct hostent *sh;                 if(args != 2) {       ...

gethostbyaddr函数老是返回为null (gethostbyname也是)但是查看errno又说成功(success) 为什么 
函数是这样的 
  int main(int args, char *argv[]) { 
        struct hostent *sh; 
      
        if(args != 2) { 
                printf("error in paramter!n"); 
                exit(1); 
        } 


        if((sh=gethostbyaddr(argv[1], strlen(argv[1]), AF_INET)) == NULL) { 
                perror("gethosterror: "); 
                exit(1); 
        } 

大体是这样 编译成client 
运行是这样:./client 127.0.0.1 
按道理说我肯定能获取本机的一些信息吧  可是sh为空 
结果是:gethosterror: : Success 
我用的虚拟机vmware 系统是redhat9 跟这个没有什么关系吧 虽然可能跟dns有关 ,但是我是./client 127.0.0.1 链接本机 又不是外网,不用dns也行 
ping 127.0.0.1 是能ping通的 
可sh就是为空 null 为啥 ???求助 

|
你好像用错了吧
gethostbyaddr的第一个参数应该是一个指向struct in_addr结构的指针,所以当你输入IP字串的时候要先用inet_pton转换一下

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 为什么用gethostbyaddr(ip,size,PF_INET)不能把机器名得到?
  • 论坛 iis7站长之家
  • gethostbyaddr()相关
  • 关于gethostbyaddr
  • 为什么提示inet_addr,gethostbyaddr错误,头文件#include <netdb.h> #include <netinet/in.h>我已经包括,在HP机编译没有问题,现在环境


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3