2012-11-29 16 views
5

Sto provando a rilevare il tipo di connessione di rete a cui sono connesso. è WiFi o 3G? c'è un modo per farlo usando C# win forms .net 2.0 o 4.0?C'è un modo per rilevare che tipo di connessione sto usando? WiFi, 3G o Ethernet?

 foreach (NetworkInterface adapter in adapters) 
     { 
      if (adapter.OperationalStatus == OperationalStatus.Up) 
      { 
       if (adapter.NetworkInterfaceType == NetworkInterfaceType.Wireless80211) 
       { 
        lblNetworkType.Text = "you are using WiFi"; 
        break; 
       } 
       else if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ppp) 
       { 
        lblNetworkType.Text = "you are using 3G or ADSL or Dialup"; 
        break; 
       } 
       else if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet) 
       { 
        lblNetworkType.Text = "you are using Ethernet"; 
        break; 
       } 
      } 
     } 
+0

Penso che sarà necessario verificare con l'enumerazione [NetworkInterfaceType] (http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterfacetype%28v=vs.100%29.aspx) quando esegui 'NetworkInterface.GetAllNetworkInterfaces()' – V4Vendetta

+1

, ma non è chiaro sulla connessione 3G. – Arrabi

risposta

3

Purtroppo non c'è un modo 'pulito' per fare questo in quanto tale. Una connessione 3G apparirà come una connessione ADSL o dial-up (con il tipo di rete PPP).

Se si è certi che si sarà sempre solo su WiFi/3G, è possibile controllare le informazioni nella classe NetworkInterface fornita da GetAllNetworkInterfaces e considerarla come 3G se il tipo di interfaccia è PPP. Ma come ho detto questo è lo stesso per altri tipi di connessione modem.

Modifica: Potresti avere un po 'di fortuna a cercare "3G", "HSPA", "HSDPA", "Dongle" nel nome o nella descrizione del dispositivo. Ma questa è solo una "ipotesi ragionevole" piuttosto che essere assolutamente certa.

+0

potrebbe essere una connessione ADSL o dial-up. quale modo migliore per scoprirlo. Penso che ADSL sarà "NetworkInterfaceType.AsymmetricDsl" – Arrabi

+1

@Arrabi - Una connessione 3G apparirà come una connessione ADSL o Dialup. Stai chiedendo il modo di rilevare questo, che è una domanda soggettiva, quindi che cosa hai provato e perché non sei soddisfatto? –

+0

@Ramhound, ho aggiornato la mia domanda. scusa per il fraintendimento. – Arrabi