我希望能在C++中获取主机名的别名列表。这里输入的是一个IP地址。目前我们使用gethostbyaddr()
调用该方法,该方法返回一个hostent结构体。该结构体有一个字段用于存储别名列表。
struct hostent {
char FAR * h_name; /* official name of host */
char FAR * FAR * h_aliases; /* alias list */
short h_addrtype; /* host address type */
short h_length; /* length of address */
char FAR * FAR * h_addr_list; /* list of addresses */
};
gethostbyaddr() API是传统的,而且我们也想支持IPv6输入。所以我们按照msdn建议,用getnameinfo()
替换了gethostbyaddr()。但是,在这些更改之后,没有办法获取主机名的别名列表。getnameinfo()只返回主机名作为字符串,并且没有别名列表返回。有人可以帮我在这种情况下获取别名列表吗?