C# Server, der IPv6 und IPv4 im selben Port unterstützt
Frage
Ist es möglich, einen Socket zu haben, der sowohl IPv6- als auch IPv4 -Clients hört und akzeptiert? Ich habe eine IPv6 -Socket in C# verwendet, in der Hoffnung, dass sie automatisch rückwärts kompatibel sein würde, aber IPv4 -Clients verursachen eine ungültige IP -Adressausnahme.
Lösung
Guck mal hier. Sie können IPv4 -Clients sowie IPv6 -Clients akzeptieren mit dem einen Server -Socket.
Andere Tipps
Setzen Sie die Sockel IPv6Only
Option zu false
:
Socket MySocket = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp);
MySocket.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.IPv6Only, false);
(Entnommen aus Matthew Iselins zweitem Link)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow