C#了解打印机的主机名和IP地址

时间:2014-02-26 06:39:23

标签: c# printing ip-address host

 _Printers = new PrintServer().GetPrintQueues(new[] { 
     EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections});

上面的代码允许我获取可供我打印的打印机列表。其中一个打印机描述如下:

\\EYZR370\HP Color LaserJet 2605dn,HP Universal Printing PCL 6 (v5.1),

现在我正在尝试使用以下方式手动查找打印机的IP地址:

1 - >转到“控制面板”
2→查看设备和打印机
3→右键单击HP Color LaserJet 2605dn并选择打印机属性
4->选择端口选项卡以查看IP地址

现在它显示了IPAddress,例如192.157.6.8

我想知道192.157.6.8 == EYZR370?

所以我尝试以下方式:

string hostName = System.Net.Dns.GetHostEntry("192.157.6.8").HostName;

令人惊讶的是hostName有另一个字符串值,我不知道它是什么。

任何人都可以解释一下我的情况是什么吗?

更新

我使用以下方式完成了另一项测试

  IPHostEntry hostEntry;

  hostEntry = Dns.GetHostEntry("EYZR370");

  //you might get more than one ip for a hostname since 
  //DNS supports more than one record

  if (hostEntry.AddressList.Length > 0)
  {
      //var ip = hostEntry.AddressList[0];
  }

我可以看到hostEntry.AddressList有6个数据,但它们都不匹配192.157.6.8

1 个答案:

答案 0 :(得分:0)

HostName属性返回主机名。

您可能需要查看Aliases属性,该属性返回可能的别名列表。如果您的计算机有多个DNS名称解析为192.157.6.8,那么您将在上述属性中找到它。

您可能还想尝试类似(虽然过时)的方法,例如Dns.ResolveDns.GetHostByAddress。有些人报告说这些方法的工作方式不同。

打印机是否配置正确?打印机似乎没有主机名或DNS没有正确配置?或者你可能完全错了名字?您是否可以访问其Web控制面板?