【问题标题】:C# server that supports IPv6 and IPv4 on the same port在同一端口上支持 IPv6 和 IPv4 的 C# 服务器
【发布时间】:2010-11-20 03:12:48
【问题描述】:

是否可以有一个 Socket 可以同时侦听和接受 IPv6 和 IPv4 客户端?我在 C# 中使用了 IPv6 套接字,希望它会自动向后兼容,但 IPv4 客户端会导致无效的 ip 地址异常。

【问题讨论】:

    标签: c# ipv6 ipv4


    【解决方案1】:

    将套接字的IPv6Only 选项设置为false

    Socket MySocket = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp);
    MySocket.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.IPv6Only, false);
    

    (取自 Matthew Iselin 的第二个链接)

    【讨论】:

      【解决方案2】:

      看看here。您可以接受 IPv4 客户端以及 IPv6 客户端with the one server socket

      【讨论】:

      • silky:我会说你是对的。我已经完全重写了我的答案。
      • 看起来您的某个链接可能已经消失了。
      猜你喜欢
      • 2012-05-09
      • 1970-01-01
      • 2019-05-16
      • 2010-12-09
      • 2020-08-27
      • 2012-01-05
      • 2016-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多