我想要计算机全名abc.xyz.xvvx.net,即计算机名- abc域名:- xyz.xvvx.net
我用谷歌搜索并找到了这个函数GetNameInfoW((struct sockaddr *) &saGNI,sizeof (struct sockaddr),hostname,NI_MAXHOST,servInfo,NI_MAXSERV,NI_NAMEREQD );
如果计算机位于其他域中,则此函数不检索域名,而仅检索计算机名称(Abc)。但是,在相同域名(abc.xyz.xvvx.net)的情况下,它可以正常工作。
请帮帮我...
致敬,Sameer Deshmukh
发布于 2013-09-22 20:17:41
我将向您推荐函数GetComputerNameEx。MSDN上的文档有一个可运行的示例,可以淡化任何其他设备上的示例。尝试编译并运行它,我相信你会找到正确的计算机名称格式。GetComputerNameEx,而它只会给出你本地计算机的正确名称。
我又想了一遍。为什么要从IP取回域名?据我所知,域是一个逻辑概念。并且我找不到从IP地址到其域的映射的好理由。
因为gethostbyaddr类功能是由DNS服务支持的。对于Windows服务器,每个域都有自己的DNS服务器作为特定域的名称服务。不需要根据同一域中的计算机的域名来区分计算机。所以我认为如果你真的想从一个IP获取域名,至少DNS协议应该支持它。然而,据我所知,情况并非如此。
如果你有其他想法,请指正我。
https://stackoverflow.com/questions/18943327
复制相似问题