Я пытаюсь создать небольшой HTTP-сервер на С#, но у меня проблемы с клиентами IPv6. У меня есть поддержка IPv6 на моей машине, но когда я пытаюсь создать прослушивающий сокет, он терпит неудачу.
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);
Что я здесь делаю неправильно?
Код генерирует это исключение: Система обнаружила недопустимый адрес указателя при попытке использовать аргумент указателя при вызове
EDIT:
Трассировка стека:
в System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) в System.Net.Sockets.Socket.Bind(EndPoint localEP) при TroutServer.Trout.Start(порт Int32) в C:\Users\Chris\Documents\Visual Studio 2008\Projects\TroutServer\форель\trout.cs: линия 62
Тип - SocketException
Try:
new IPEndPoint(IPAddress.IPv6Any, _port)