سؤال

أحاول إنشاء خادم 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)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top