ICMP في C #، SocketException - ممنوع عن طريق أذونات الوصول
سؤال
أحاول الحصول على العثور على رمز ICMP هنا للعمل. ولكن في هذا الخط:
Socket = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork,
System.Net.Sockets.SocketType.Raw,
System.Net.Sockets.ProtocolType.Icmp);
أحصل على SocketException: "تم إجراء محاولة للوصول إلى مقبس بطريقة ممنوعة بأذونات الوصول إليها" (رمز الخطأ الأصلي: 10013)
قيد التشغيل في وضع المسؤول هو حل واحد (سيء)، ولكن نظرا لأنني أريد أن يعمل برنامجي على مستوى المستخدم، فماذا ستفتح؟ نهج ICMP الأخرى موضع ترحيب أيضا.
لقد كنت أحاول اللعب مع إعدادات الأمان "ClickOnce"، والتي لم تساعد.
المحلول
تقتصر ICMP ومقابس RAW على مستخدمي المسؤول منذ نظام التشغيل Windows 2000. لم تقرر ما تحاول القيام به، ولكن يمكنك تجربة مساحة الاسم Networkinformation لتحقيق هدفك: networkinformation.
ويشمل أ بينج فئة لإرسال طلبات Echo ICMP.
لا تنتمي إلى StackOverflow