0

在 Win RT 中,我们必须使用 DatagramSocket 而不是 UdpClient。好的,但是下面的代码给了我这个我在 UdpClient 上没有得到的错误。

        var g = new DatagramSocket();
        g.MessageReceived += g_MessageReceived;
        await g.BindEndpointAsync(new HostName("0.0.0.0"), "5000"); //<--- this line

*IPAddress.Any = 0.0.0.0

我收到此错误:“不知道这样的主机。(来自 HRESULT 的异常:0x80072AF9)”

4

1 回答 1

4

要绑定到所有本地接口(绑定 0.0.0.0 aka INADDR_ANY 与 Berkeley Sockets API 的方式),请使用BindServiceNameAsync.

该方法在参数BindServiceNameAsync中指定的本地服务名称或UDP端口上绑定到本地计算机上所有网络接口的本地IP地址。localServiceName如果localServiceName参数为空字符串,系统将选择要绑定的本地UDP端口。

于 2012-12-08T00:17:22.787 回答