我想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(端点   endPointSnapshot,为SocketAddress   为SocketAddress)在   System.Net.Sockets.Socket.Bind(端点   localEP)在   TroutServer.Trout.Start(的Int32端口)在   C:\用户\克里斯\文档\ Visual Studio中   2008 \项目\ TroutServer \鳟鱼\ trout.cs:行   62

类型是SocketException

有帮助吗?

解决方案

尝试:

new IPEndPoint(IPAddress.IPv6Any, _port)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top