2012-06-26 176 views
1

我正在將WP7應用程序移植到Windows 8 Metro,並且我遇到的(許多)轉換障礙之一是根據主機名或DNS名稱發現IP地址。下面是我以前使用WP7的例子:如何在Metro/WinRT中將主機名解析爲IP地址?

DnsEndPoint dnsEnd = new DnsEndPoint("www.google.com", 80, AddressFamily.InterNetwork); 
DeviceNetworkInformation.ResolveHostNameAsync(dnsEnd, IPLookupCallbackMethod, this); 

我在網上搜索了一個解決方案,並瀏覽了地鐵API,但我還沒有發現任何東西。有沒有其他人遇到Metro/WinRT的這個問題,並找到解決方案?

回答

7
using Windows.Networking; 
using Windows.Networking.Sockets; 

HostName serverHost = new HostName("www.google.com"); 
StreamSocket clientSocket = new Windows.Networking.Sockets.StreamSocket(); 

// Try to connect to the remote host 
await clientSocket.ConnectAsync(serverHost, "http"); 

// Now try the clientSocket.Information property 
// e.g. clientSocket.Information.RemoteAddress 
// to get the ip address 

一旦ClientSocket的已嘗試連接時,clientSocket.Information屬性將憑藉豐富的網絡信息,包括遠程主機的信息,包括IP地址的水合。我只是輸入這個內聯,所以我希望沒有錯誤。希望這可以幫助!另請嘗試this link to msdn

+0

優秀!非常感謝你 :-) – jokeefe