在同一端口上支持IPv6和IPv4的C#服务器

在同一端口上支持IPv6和IPv4的C#服务器,c#,ipv6,ipv4,C#,Ipv6,Ipv4,是否可能有一个套接字同时侦听和接受IPv6和IPv4客户端?我在C#中使用了IPv6套接字,希望它能够自动向后兼容,但IPv4客户端会导致无效ip地址异常。请看一看。您可以接受IPv4客户端和IPv6客户端。将套接字的IPv6Only选项设置为false: Socket MySocket = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp); MySocket.SetSocketOption

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

请看一看。您可以接受IPv4客户端和IPv6客户端。

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

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

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

silky:我认为你是对的。我已经完全重写了我的答案。看起来你的一个链接可能已经消失了。