La détection de la connexion et la vitesse du réseau cellulaire par rapport à 802.11 et Ethernet? C # .Net
-
23-08-2019 - |
Question
Je travaille sur un programme qui sera utilisé sur les appareils mobiles (Windows installation complète) qui peuvent avoir une connectivité 3G. Si le périphérique ne la connectivité 3G, nous aimerions profiter. Cependant, le programme devrait être en mesure d'établir des priorités de communication en fonction de ce type de connexion et la vitesse sont actuellement disponibles.
Je suis en mesure d'obtenir une liste des interfaces réseau à l'aide System.Net.NetworkInformation.NetworkInterface, mais est-il un bon moyen de voir si l'interface est des données cellulaires, sans fil ou Ethernet standard, ainsi que la vitesse disponible ( en particulier dans le cas de données de la cellule)?
La solution
Ceci listera toutes les connexions de réseau qui sont actuellement en place. Il devrait être un endroit pour commencer.
var interfaces = NetworkInterface.GetAllNetworkInterfaces()
.Where(n => n.OperationalStatus == OperationalStatus.Up)
.Select(n => new { Nic = n, Speed = n.Speed });