Skip to content

Latest commit

 

History

History
31 lines (31 loc) · 1.35 KB

主机.md

File metadata and controls

31 lines (31 loc) · 1.35 KB

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

关键头文件

netdb.h

关键结构体

hostent

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

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

###部分字段解释

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