【发布时间】:2009-08-17 00:32:56
【问题描述】:
我正在尝试在 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 端点快照,套接字地址 套接字地址)在 System.Net.Sockets.Socket.Bind(端点 本地EP)在 TroutServer.Trout.Start(Int32 端口) 在 C:\Users\Chris\Documents\Visual Studio 2008\Projects\TroutServer\trout\trout.cs:line 62
类型是 SocketException
【问题讨论】:
-
异常的类型和堆栈跟踪是什么?