[英]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.Resolve
和Dns.GetHostByAddress
。 有人報告這些方法的工作方式不同。
打印機配置是否正確? 看來打印機沒有主機名或DNS配置不正確? 也許您的名字全都錯了? 您可以訪問其網絡控制面板嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.