2013-01-17 4 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 –

관련 문제