0

申請書を作成しています。サーバー側はデスクトップで動作し、クライアント側は Windows 8 で動作します (Metro App-.Net for Windows Store)

ここに私のサーバーコードがあります:

var udpServer = new UdpClient(7800);
udpServer.BeginRecieve(new AsyncCallback(OnUdpRecieve), null);
. . .
private void OnUdpRecieve(IAsyncResult result)
{
    byte[] data = udpServer.EndReceive(result, ref peerEndPoint);
    udpServer.BeginReceive(new AsyncCallback(OnUdpRecieve), null);
}

Win RT でのクライアント コードは次のとおりです。

var udpClient = new DatagramSocket();
await udpClient.ConnectAsync(new HostName("localhost"), 7800);
var udpWriter = new DataWriter(udpClient.OutputStream);
udpWriter.WriteBytes(new byte[] {0, 3, 5});
await udpWriter.StoreAsync();

しかし、サーバー側では何も得られません。私は何か間違ったことをしているのかもしれないと思いました。

ありがとう

4

1 に答える 1

-1

MSDN フォーラムで質問を読みました。私の回答ではありませんが、「loclhost」と「127.0.0.1」が異なる点がありました。

「localhost」を使用すると、データグラムに強制的に IPv4 が使用され、「127.0.0.1」を使用すると、データグラム ソケットに強制的に IPv6 が使用されます。

それがポイントです;)

于 2012-11-20T05:57:58.663 に答える