문제

C#에서 작은 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);

여기서 내가 뭘 잘못하고 있니?

코드는이 예외를 던졌습니다. 시스템은 통화에서 포인터 인수를 사용하려고 시도 할 때 유효하지 않은 포인터 주소를 감지했습니다.

편집하다:

스택 추적 :

at system.net.sockets.socket.dobind (endpoint endpointsnapshot, socketaddress socketdress) system.net.sockets.socket.bind (endpoint localep)의 troutserver.trout.start (int32 port)의 c : user chris documents. Visual Studio 2008 Projects Troutserver Trout Trout.cs : 라인 62

유형은 socketexception입니다

도움이 되었습니까?

해결책

노력하다:

new IPEndPoint(IPAddress.IPv6Any, _port)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top