hostent

来源:互联网 发布:现在淘宝网店好做吗 编辑:程序博客网 时间:2024/04/29 19:41

来自winsock.h
struct  hostent {
  char    FAR * h_name;            /* 正式的主机名*/
  char    FAR * FAR * h_aliases;   /* 别名列表*/
  short   h_addrtype;              /* 主机地址类型*/
  short   h_length;                /* 地址长度*/
  char    FAR * FAR * h_addr_list; /* 地址清单*/
};    这是个典型的底层APIs使用的数据结构,很多人都不是很熟悉它。实际上,hostent是一个变长的数据结构,h_name是主机名,在例子程序中的值为 "zxn.hangwire.sdb"。没有别名(h_aliases)。h_addrtype是地址类型(或者也叫地址家族),在例子程序中的值为2(AF_INET = internet,其它内容参见winsock.h)。h_length是每一个地址的长度,以字节为单位。因为IP地址的长度是4个字节,所以在例子程序中的值为4,h_addr_list是地址数组的开始点,它们一个接着一个存放,结尾是一个null。每一个x.y.z.w数字占一个字节。为了将IP地址格式化为x.y.z.w的形式,必须将地址数组先拷贝到一个叫sockaddr的数据结构中,然后调用一个特殊的函数inet_ntoa。

 

原创粉丝点击