سؤال
أحاول إنشاء خادم HTTP صغير في C # ولكني أواجه مشكلة مع عملاء 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.net.sockets.socket.dobind (نقطة النهاية EndPointsnapshot، SocketDdress SocketDress) في System.Net.Sockets.socket.bind (Endpoint Localep) في Troutserver.trout.start (منفذ Int32) في C: Users Chris Documents Visual Studio 2008 مشاريع Troutserver Trout Trout.cs: Line 62
النوع هو SocketException.
المحلول
يحاول:
new IPEndPoint(IPAddress.IPv6Any, _port)
لا تنتمي إلى StackOverflow