我正在尝试用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);
我在这做错了什么?
代码抛出此异常:系统在尝试使用调用中的指针参数时检测到无效指针地址
编辑:
堆栈跟踪:
位于C:\ Users\Chris\Documents中TroutServer.Trout.Start(Int32端口)的System.Net.Sockets.Socket.Bind(EndPoint localEP)上的System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot,SocketAddress socketAddress)\Visual Studio 2008\Projects\TroutServer\trout\trout.cs:第62行
Type是SocketException
尝试:
new IPEndPoint(IPAddress.IPv6Any, _port)