zoukankan      html  css  js  c++  java
  • Linux网络编程 gethostbyaddr()

    C语言函数
      概述:
      返回对应于给定地址的主机信息。
      #include <winsock.h>
      struct hostent FAR *PASCAL FAR gethostbyaddr(const char
      FAR * addr, int len, int type);
      addr:指向网络字节顺序地址的指针。
      len: 地址的长度,在AF_INET类型地址中为4。
      type:地址类型,应为AF_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()取消了.
      参见: WSAAsyncGetHostByAddr(), gethostbyname()
  • 相关阅读:
    UVA 11174 Stand in a Line,UVA 1436 Counting heaps —— (组合数的好题)
    UVA 1393 Highways,UVA 12075 Counting Triangles —— (组合数,dp)
    【Same Tree】cpp
    【Recover Binary Search Tree】cpp
    【Binary Tree Zigzag Level Order Traversal】cpp
    【Binary Tree Level Order Traversal II 】cpp
    【Binary Tree Level Order Traversal】cpp
    【Binary Tree Post order Traversal】cpp
    【Binary Tree Inorder Traversal】cpp
    【Binary Tree Preorder Traversal】cpp
  • 原文地址:https://www.cnblogs.com/zendu/p/4988101.html
Copyright © 2011-2022 走看看