C#UDP服务器多个实例ipv6相同的端口

时间:2017-05-04 10:10:00

标签: c# udp ipv6 udpclient

我需要多个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"我得到一个"请求的地址在其上下文中无效"错误。任何帮助将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

因此,经过更多调查后,我发现IPv6确实只有1个环回地址:“ :: 1”。

但是!有一个叫做“本地链接”的小东西,它以“ fe80:...”开头,每个网络适配器都有一个唯一的地址,代表该特定网络适配器的回送地址。 / p>

因此,我可以在:: 1端口53上打开一台服务器,或者我可以打开多台服务器,每个服务器都有一个。