Вопрос

Я пытаюсь создать небольшой HTTP -сервер в C#, но у меня возникают проблемы с клиентами 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);

Что я здесь делаю не так?

Код бросает это исключение: система обнаружила неверный адрес указателя в попытке использовать аргумент указателя в вызове

РЕДАКТИРОВАТЬ:

Трассировки стека:

at System.net.sockets.socket.dobind (Endpoint EndPointSnapShot, SocketAddress SocketAddress) на system.net.sockets.socket.bind (endpoint localep) на Troutserver.trout.Start (int32 Port) в C: users chris Documents Visual Studio 2008 Projects Troutserver trout trout.cs: строка 62

Тип - это SocketException

Это было полезно?

Решение

Пытаться:

new IPEndPoint(IPAddress.IPv6Any, _port)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top