【问题标题】:C# UDP server multiple instances ipv6 same portC# UDP 服务器多个实例 ipv6 相同端口
【发布时间】: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”,我会收到“请求的地址在其上下文中无效”错误。任何帮助将不胜感激。

谢谢!

【问题讨论】:

标签: c# udp ipv6 udpclient


【解决方案1】:

所以,经过进一步调查,我发现 IPv6 确实只有 1 个环回地址:“::1”。

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

所以,我可以在 ::1 端口 53 上打开一个服务器,或者我可以打开多个服务器,一个用于我拥有的每个网络适配器。

【讨论】:

    猜你喜欢
    • 2021-03-16
    • 1970-01-01
    • 2020-05-18
    • 2011-05-20
    • 2013-02-22
    • 2021-05-03
    • 2020-08-27
    • 2010-11-20
    • 1970-01-01
    相关资源
    最近更新 更多