2015-10-14 68 views
-1

我想通過向Dns.GetHostAddresses()成員functon提供HostName來獲取位於同一域中的不同計算機的IP地址,但它會爲所有計算機返回69.172.200.109 IP地址。我不知道這個確切的解決方案。對此的解決方案非常感謝。Dns.GetHostAddresses()給同一個域中的不同主機名使用相同的IP地址

IPAddress [] ips; ips = Dns.GetHostAddresses(hostName); (ip.AddressFamily == AddressFamily.InterNetwork) { ipAddress = ip.ToString();如果(ip.AddressFamily == AddressFamily.InterNetwork) { ipAddress = ip.ToString(); 休息; } }

+0

請發表您的代碼 – Rakesh

+0

如果從Web應用程序調用該方法,你會得到服務器的IP,而不是客戶端的。 – CodeCaster

回答

-1

如果中間還有另一臺服務器,根據請求中收到的主機名將請求路由到相應的服務器,那麼您遇到的情況是非常可能的。您所服務的地址可能是該中間服務器的地址。請參閱Virtual web hosting瞭解更多詳情。其次,如果您正在查詢的是本地DNS,請確保您仔細檢查配置的地址。

-1

你可以嘗試波紋管代碼來獲取所有IP地址域

String strHostName = Dns.GetHostName(); 

// Find host by name 
IPHostEntry iphostentry = Dns.GetHostByName(strHostName); 

// Enumerate IP addresses 
foreach(IPAddress ipaddress in iphostentry.AddressList) 
{ 
    .... 
} 
+0

是啊!對於本地計算機它工作正常,但我想通過提供該計算機名稱來獲得另一個計算機地址。兩臺電腦都在同一個域中,我在這裏發現問題,但它仍然返回69.172.200.109 –

+0

上面的代碼只有在您的計算機處於同一個Intranet時纔有效! – Mahesh

相關問題