Ошибка сервера C # IPv6

2

Я пытаюсь создать небольшой 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

  • 0
    Каков тип исключения и трассировка стека?
Теги:
ipv6

1 ответ

6
Лучший ответ

Try:

new IPEndPoint(IPAddress.IPv6Any, _port)
  • 0
    Спасибо, это наконец работает!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню