无法在“0.0.0.0”上绑定DatagramSocket

时间:2012-12-08 00:12:11

标签: c# udp windows-runtime datagram

在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)”

1 个答案:

答案 0 :(得分:4)

要绑定到所有本地接口(使用Berkeley套接字API绑定0.0.0.0又称INADDR_ANY的方式),请使用BindServiceNameAsync

  

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