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 です