【问题标题】:Get host name by IP address通过 IP 地址获取主机名
【发布时间】:2018-01-02 18:44:10
【问题描述】:

我尝试通过 IP 地址获取主机名,如下所示。

IPHostEntry entry = Dns.GetHostEntry(ipAddress);
string hostName = entry.HostName;

但对于打印机设备。这让SocketException 说“没有这样的主机是已知的”。

然后我尝试使用this Ip 扫描仪。它已经正确显示了一个主机名(它是java)。

还有其他方法可以在 C# 中获取主机名吗?

【问题讨论】:

  • ipAddress 的类型是什么?如果是字符串,您是否尝试过使用IPAddress.Parse 并将其传递给Dns.GetHostEntry
  • 嗯,不是每个 IP 地址都有名字..
  • @vasek 它是字符串。并尝试传递“IPAddress”,结果是一样的。
  • @too_cool 但它显示在其他第三方工具上。
  • @mhs 如果你 ping -a <ipaddr> 会怎样?解决了吗?

标签: c# dns hostname


【解决方案1】:

你可以试试这个方法

Using System.Printing

 var pri = new PrintServer();
            var queues = pri.GetPrintQueues(new[] { EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections });
            foreach (var queue in queues)
            {
                string printerName = queue.Name;
                string printerPort = queue.QueuePort.Name;
             }

【讨论】:

  • 谢谢,我试过了。这给出了已安装的打印机。但有些打印机没有安装,
猜你喜欢
  • 1970-01-01
  • 2012-05-31
  • 1970-01-01
  • 2018-08-26
  • 1970-01-01
  • 2012-04-12
  • 2014-04-12
  • 1970-01-01
相关资源
最近更新 更多