网络编程学习笔记(gethostbyname2函数与IPv6支持)

其原型为:

#include 
struct hostent * gethostbyname2(const char *hostname, int family);
成功返回非空指针,出错返回空指针,同时设置 h_errno

该函数的逻辑依赖于参数family和解析器选项RES_USE_INET6,对于新的选项RES_USE_INET6,函数gethostbyname2操作

如果参数family是AF_INET,则查询A记录。若不成功,则返回一个空指针,叵成功,则返回地址的类型及大小依赖于新的解析器选项RES_USE_INET6;若选项未设置,则返回IPv4地址,结构hostent的成员h_length的值为4;若选项设置 ,则返回IPv4映射的IPv6地址,结构hostent的成员h_length的值为16。

如果参数family为AF_INET6,则查询AAAA记录,若成功,则返回IPv6地址,结构hostent的成员h_length的值为16,否则返回一个空指针。



你可能感兴趣的:(网络编程,网络编程学习笔记)