簡體   English   中英

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

[英]C# understanding of hostname and IPAddress of a printer

 _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

HostName屬性返回主機名。

你可能想檢查出的Aliases屬性返回可能別名列表。 如果您的計算機具有多個解析為192.157.6.8 DNS名稱,則可以在上述屬性中找到它。

您可能還想嘗試類似的方法(盡管已過時),例如Dns.ResolveDns.GetHostByAddress 有人報告這些方法的工作方式不同。

打印機配置是否正確? 看來打印機沒有主機名或DNS配置不正確? 也許您的名字全都錯了? 您可以訪問其網絡控制面板嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM