我需要获取给定IP地址的网络设备名称。例如,连接在网络中的打印机。我有打印机的IP地址,但我需要使用相应的IP地址访问其名称。 我尝试使用dns.getHostByaddress(),但它没有正常工作。让我知道是否存在任何其他解决方案。
string c = Dns.GetHostByAddress("xxx.xxx.x.xxx").HostName;
pdoc.PrinterSettings.PrinterName =c ;
这是一个使用c#vs2010的Windows独立应用程序。
答案 0 :(得分:0)
你无法获得" DeviceName"由ip本身。 DNS名称仅存在于DNS服务器(或此类环境中的netbios)中,用于保存有关它的信息 - 如果您调用" Dns.GetHostByAddress"你总是查询DNS服务器。如果在设备上使用DHCP,则dns条目将自动更新(如果配置良好)。否则,您必须在设备上配置DNS服务器IP地址,并希望此设备能够在DNS上注册(权限并由您的设备支持)。 另一种方式(我不喜欢)是手动将条目添加到DNS。 您可以通过执行" ipconfig / registerdns"
强制在Windows计算机上进行dnsregistration