1

我想要完整的计算机名称 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)的情况下它可以正常工作。

请帮我....

问候, 萨米尔·德什穆赫

4

1 回答 1

0

我会向你推荐这个功能GetComputerNameEx。MSDN 上的文档有一个可运行的示例,可以淡化任何其他设备示例。尝试编译运行它,相信你会找到正确的计算机名称格式。GetComputerNameEx虽然它只会给出您本地计算机的正确名称。

我再想想。为什么要从 IP 中检索域名?据我所知,领域是一个逻辑概念。而且我找不到从 IP 地址映射到其域的充分理由。

由于gethostbyaddr此类功能由 DNS 服务支持。对于 Windows 服务器,每个域都有自己的 DNS 服务器作为特定域的名称服务。无需通过同一域中的域名来区分计算机。所以我认为如果你真的想从一个IP中获取域名,至少DNS协议应该支持它。但是,据我所知,情况并非如此。

如果您有其他想法,请纠正我。

于 2013-09-22T12:17:41.297 回答