gethostbyaddr()

gethostbyaddr()  
  简述:  
          返回对应于给定地址的主机信息。  
   
  #include   <winsock.h>  
   
  struct   hostent   FAR   *PASCAL   FAR   gethostbyaddr(const   char    
  FAR   *   addr,   int   len,   int   type);  
   
  addr:指向网络字节顺序地址的指针。  
   
  len:   地址的长度,在PF_INET类型地址中为4。  
   
  type:地址类型,应为PF_INET。  
   
  注释:  
          gethostbyaddr()返回对应于给定地址的包含主机名字和地址信息的hostent结构指针。结构的声明如下:  
   
  struct   hostent   {  
  char   FAR   *                 h_name;  
  char   FAR   *   FAR   *     h_aliases;  
  short                           h_addrtype;  
  short                           h_length;  
  char   FAR   *   FAR   *     h_addr_list;  
  };  
   
  结构的成员有:  
  成员                                   用途  
  h_name                         正规的主机名字(PC)。  
  h_aliases                   一个以空指针结尾的可选主机名队列。  
  h_addrtype                 返回地址的类型,对于Windows   Sockets,这个域总是PF_INET。  
  h_legnth                     每个地址的长度(字节数),对应于PF_INET这个域应该为4。  
  h_addr_list               应该以空指针结尾的主机地址的列表,返回的地址是以网络顺序排列的  
   
  为了保证其他旧的软件的兼容性,h_addr_list[0]被定义为宏h_addr。  
   
  返回的指针指向一个由Windows   Sockets实现分配的结构。应用程序不应该试图修改这个结构或者释放它的任何部分。此外,每一线程仅有一份这个结构的拷贝,所以应用程序应该在发出其他Windows   Scokets   API调用前,把自己所需的信息拷贝下来。  
   
  返回值:  
          如果没有错误发生,gethostbyaddr()返回如上所述的一个指向hostent结构的指针,否则,返回一个空指针。应用程序可以通过WSAGetLastError()来得到一个特定的错误代码。  
   
  错误代码:  
  WSANOTINTIALISED     在应用这个API前,必须成功地调用WSAStartup()。  
  WSAENTDOWN                 Windows   Sockets实现检测到了网络子系统的错误。  
  WSAHOST_NOT_FOUND   没有找到授权应答主机。  
  WSATRY_AGAIN             没有找到非授权主机,或者SERVERFAIL。  
  WSANO_RECOVERY         无法恢复的错误,FORMERR,REFUSED,NOTIMP。  
  WSANO_DATA                 有效的名字,但没有关于请求类型的数据记录。  
  WSAEINPROGRESS         一个阻塞的Windows   Sockets操作正在进行。  
  WSAEINTR                     阻塞调用被WSACancelBlockingCall()取消了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值