اكتشاف اتصال وسرعة الشبكة الخلوية مقابل 802.11 وإيثرنت؟ C # .NET.

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

سؤال

أنا أعمل على برنامج سيتم استخدامه على الأجهزة المحمولة (تثبيت النوافذ الكامل) التي قد تحتوي على اتصال 3G. إذا كان الجهاز المعين لديه اتصال 3G، نود الاستفادة منه. ومع ذلك، يجب أن يكون البرنامج قادرا على تحديد أولويات التواصل بناء على نوع الاتصال والسرعة المتاحة حاليا.

أنا قادر على الحصول على قائمة من واجهات الشبكة باستخدام system.net.networkinformation.networkinterface، ولكن هل هناك أي طريقة جيدة لمعرفة ما إذا كانت الواجهة بيانات الخلية أو الإيثرنت اللاسلكي أو العادي وكذلك السرعة المتاحة (خاصة في حالة من بيانات الخلية)؟

هل كانت مفيدة؟

المحلول

سيقوم ذلك بإدراج جميع اتصالات الشبكة الموجودة حاليا. يجب أن يكون مكان للبدء.

var interfaces = NetworkInterface.GetAllNetworkInterfaces()
    .Where(n => n.OperationalStatus == OperationalStatus.Up)
    .Select(n => new { Nic = n, Speed = n.Speed });
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top