Frage
Ich versuche, einen kleinen HTTP -Server in C# zu erstellen, aber ich habe Probleme mit IPv6 -Clients. Ich habe IPv6 -Unterstützung auf meinem Computer, aber wenn ich versuche, einen Hörbuchsen zu erstellen, schlägt sie fehl.
Log("Creating server socket on port {0}", LogType.Info, _port);
_serversocket = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp);
_serversocket.Bind(new IPEndPoint(IPAddress.Any, _port));
_serversocket.Listen(10);
Was mache ich hier falsch?
Der Code löst diese Ausnahme aus: Das System erkannte eine ungültige Zeigeradresse beim Versuch, ein Zeigerargument in einem Anruf zu verwenden
BEARBEITEN:
Stack Trace:
unter system.net.sockets.socket.dobind (Endpoint Endpointsnapshot, SocketAddress SocketAddress) unter System.net.sockets.socket.bind (Endpoint LocalEp) unter Trouterserver.Tart.start (int32 Port) in C: Benutzer Chris Dokumente Dokumente Visual Studio 2008 Projects TrouterServer Trout Trout.cs: Zeile 62
Typ ist SocketException
Lösung
Versuchen:
new IPEndPoint(IPAddress.IPv6Any, _port)