【发布时间】:2017-05-04 10:09:59
【问题描述】:
我需要多个 UDP 服务器,使用 .net 中的 UDPClient 类。 对于 IPv4,我可以通过执行以下操作来实现:
var udpServer1 = new UdpClient(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 53));
var udpServer2 = new UdpClient(new IPEndPoint(IPAddress.Parse("127.0.0.2"), 53));
var udpServer3 = new UdpClient(new IPEndPoint(IPAddress.Parse("127.0.0.3"), 53));
而且它有效,我可以监听端口 53 上的所有 3 个地址。 我需要对 IPv6 做同样的事情。但似乎我只能收听 1 个环回地址“::1”。
如果我尝试使用“::2”,我会收到“请求的地址在其上下文中无效”错误。任何帮助将不胜感激。
谢谢!
【问题讨论】:
-
与 IPv4 有一个环回地址块不同,IPv6 只有一个环回地址。您将需要重新考虑您的应用程序在 IPv6 上的工作方式。