• 关键头文件
  • 关键结构体
  • hostent
    • 部分字段解释
  • 主要函数

    UNIX系统内部用一个主机网络地址数据库来记住主机名和IP地址直接的映射,这一数据库由文件/etc/hosts/或DNS提供。

    关键头文件

    netdb.h

    关键结构体

    hostent

    用于报错一台主机的完整地址信息

    1. struct hostent //host entry的缩写
    2. {
    3. char *h_name; /* 主机的正式名字 */
    4. char **h_aliases; /* 主机的可选别名 */
    5. int h_addrtype; /* 主机地址类型 */
    6. int h_length; /* 每一个地址的长度,以字节为单位 */
    7. char **h_addr_list; /* 指向主机网络地址数组的指针 */
    8. }

    部分字段解释

    字段名 描述
    h_aliases 它是一个以空结尾的字符串向量
    h_addrtype 它的值是AF_INET或AF_INET6,也可以是其他类型
    h_length 对于IPv4,其值为4,对于IPv6,其值为16
    h_addr_list 主机可能与多个网络连接,因而每一个网络有不同的地址,地址数组以空指针表示结束

    主要函数

    函数 描述
    [[gethostbyname gethostbyname]] 通过域名或数-点或冒号形式的IP地址来返回主机信息
    [[gethostbyaddr gethostbyaddr]] 通过地址结构(如in_addr)返回主机信息
    [[sethostent sethostent]] 打开主机地址数据库
    [[gethostent gethostent]] 逐一扫描主机地址数据库登记项
    [[endhostent endhostent]] 关闭主机地址数据库