2017-05-23 2 views
1

Je reçois la liste d'adresses IP en utilisant le code suivant:Comment obtenir une adresse IP WLAN?

string strHostName = Dns.GetHostName(); 
IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName); 
IPAddress[] addr = ipEntry.AddressList; 

Je reçois l'adresse IP appropriée lorsque l'appareil connecté à un profil. Mais lorsque nous connectons l'appareil à un PC avec un port USB, l'adresse IP est modifiée. Nous voulons afficher uniquement l'adresse IP WLAN tout le temps dans notre application.

Y at-il une API/fonction qui ne peut donner que l'adresse IP WLAN? ou Y a-t-il un moyen de différencier l'IP WLAN de la liste des adresses IP de renvoyer du code source ci-dessus?

Répondre

0

Peut-être somthing comme:

  var address = NetworkInterface 
      .GetAllNetworkInterfaces() 
      .Where(i => i.NetworkInterfaceType == NetworkInterfaceType.Wireless80211) 
      .SelectMany(i => i.GetIPProperties().UnicastAddresses) 
      .Where(a => a.Address.AddressFamily == AddressFamily.InterNetwork) 
      .Select(a => a.Address.ToString()) 
      .ToList(); 

De: Github

Fonder: Stackoverflow