我需要多个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"。
如果我尝试使用" :: 2"我得到一个"请求的地址在其上下文中无效"错误。任何帮助将不胜感激。
谢谢!
答案 0 :(得分:0)
因此,经过更多调查后,我发现IPv6确实只有1个环回地址:“ :: 1”。
但是!有一个叫做“本地链接”的小东西,它以“ fe80:...”开头,每个网络适配器都有一个唯一的地址,代表该特定网络适配器的回送地址。 / p>
因此,我可以在:: 1端口53上打开一台服务器,或者我可以打开多台服务器,每个服务器都有一个。