我已经使用C代码使用getnameinfo
api从IPv6地址获取主机名。成功返回0,但目标字符串为“空”。不知道错误在哪里。
error_info = getnameinfo(who, wholen, host, NI_MAXHOST, serv, NI_MAXSERV, NI_NOFQDN);
if(error_info){
fprintf(stderr, "\ngetnameinfo is success.");
fprintf(stderr, "\nstring @ host :: %s and serv :: %s", host, serv);
}
输出:
getnameinfo is success.
string @ host :: and serv ::
最佳答案
IP到主机名要求DNS服务器中的反向DNS条目。在这里,对于提供的ip地址,没有可用的反向DNS,因此它以NULL项返回成功。检查带有反向DNS条目的其他主机名。
关于c - 意外的getnameinfo()主机名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24237170/