ICMP في C #، SocketException - ممنوع عن طريق أذونات الوصول

StackOverflow https://stackoverflow.com/questions/745602

  •  09-09-2019
  •  | 
  •  

سؤال

أحاول الحصول على العثور على رمز 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top