我正在尝试在 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);
我在这里做错了什么?
代码抛出此异常:系统在尝试在调用中使用指针参数时检测到无效的指针地址
编辑:
堆栈跟踪:
在 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\trout.cs:第 62 行
类型是 SocketException