2

私は WP7 アプリを Windows 8 Metro に移植する過程にあり、私が遭遇した (多くの) 変換障害の 1 つは、ホスト名または DNS 名に基づいて IP アドレスを検出することです。以下は、私が以前に WP7 で使用していたものの例です。

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

オンラインで解決策を検索し、Metro API を閲覧しましたが、まだ何も見つかりませんでした。Metro/WinRT でこの問題に遭遇し、解決策を見つけた人はいますか?

4

1 に答える 1

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 アドレスを含むリモート ホスト情報を含む豊富なネットワーク情報でハイドレートされます。これをインラインで入力しただけなので、エラーがないことを願っています。お役に立てれば!msdn へのこのリンクも試してください。

于 2012-06-27T01:26:43.793 に答える