Pergunta

Estou tentando criar um pequeno servidor HTTP em C#, mas estou tendo alguns problemas com os clientes IPv6. Eu tenho suporte IPv6 na minha máquina, mas quando tento criar um soquete de escuta, ela falha.

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);

O que eu estou fazendo errado aqui?

O código lança esta exceção: o sistema detectou um endereço de ponteiro inválido ao tentar usar um argumento de ponteiro em uma chamada

EDITAR:

Stack Trace:

em system.net.sockets.socket.dobind (endpoint endpointsnapshot, soketddress socketddress) em system.net.sockets.socket.bind (endpoint localep) em troutserver.trout.start (porta int32) em c: users chris documents Visual Studio 2008 Projects TroutServer Trout Trout.cs: Linha 62

O tipo é demorado

Foi útil?

Solução

Tentar:

new IPEndPoint(IPAddress.IPv6Any, _port)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top