2013-01-17 45 views
1

我正在嘗試獲取遠程計算機的IP地址。但是我的代碼無法遠程收集IPv6。代碼在本地運行時運行良好。以下是我的示例代碼未能遠程獲取IPv6

System.Net.IPHostEntry hostEntryComputer; 
try 
{ 
    hostEntryComputer = System.Net.Dns.GetHostEntry(computerName); 
    foreach (System.Net.IPAddress addr in hostEntryComputer.AddressList) 
    { 
     string temp = addr.ToString(); 
     Console.WriteLine("IP: " + temp); 
    }    
} 
catch(Exception ex) 
{ 
    Console.WriteLine(ex.Message); 
} 

任何幫助,將不勝感激。

+0

是否拋出一個異常,或在列表中選擇所需IP根本就沒有?你使用什麼樣的computerName?一個真正的域名,還是一個網絡本地計算機名稱? – CodesInChaos

+0

您的代碼適用於我(我可以從我的提供商處獲得IPV4和IPV6地址)。當然,你需要一個完整的IPV6鏈。 –

+0

它不會拋出任何異常,但它不返回IPv6,只返回IPv4。當我在本地運行實用程序時,它會返回IPv6。 – tkl33

回答

1

From MSDN:「如果本地計算機未安裝IPv6,則會從GetHostEntry方法的結果中過濾掉IPv6地址。因此,如果只有可用於IPv6的IPv6結果可用,則可以取回空IPHostEntry實例hostNameOrAddress.parameter「。

按照這些教程,以使其在本地計算機上:

+0

我在兩臺機器上都安裝了IPv6(從我運行代碼的位置以及我試圖從中獲取的計算機) – tkl33

+0

我的機器都是Windows 2k8r2,並且它們都啓用了IPv6 – tkl33

+0

奇怪的行爲。該代碼適用於我:S –