2014-02-07 99 views
0

當手機在本地網絡中時,它具有IP 192.168.0.x,當它在無線網絡外部時,它使用移動網絡提供的互聯網連接(當手機內有SIM卡時訪問互聯網)。如何判斷手機是通過wifi連接還是通過C#訪問移動互聯網?

如何通過C#確定當時使用哪種連接?

編輯:

NetworkInterfaceInfo netInterfaceInfo = socket.GetCurrentNetworkInterface(); 
    var type = netInterfaceInfo.InterfaceType; 
    var subType = netInterfaceInfo.InterfaceSubtype; 

回答

3

你可以試試這個方法來檢查網絡狀態:

public static string GetNetStates() 
{ 
    var info = Microsoft.Phone.Net.NetworkInformation.NetworkInterface.NetworkInterfaceType; 
    switch (info) 
    { 
     case NetworkInterfaceType.MobileBroadbandCdma: 
      return "CDMA"; 
     case NetworkInterfaceType.MobileBroadbandGsm: 
      return "CSM"; 
     case NetworkInterfaceType.Wireless80211: 
      return "WiFi"; 
     case NetworkInterfaceType.Ethernet: 
      return "Ethernet"; 
     case NetworkInterfaceType.None: 
      return "None"; 
     default: 
      return "Other"; 
    } 
} 
+0

我檢查一下。我試過,但不知道如何初始化套接字:看編輯 –

+1

我們不需要初始化套接字,只需使用NetworkInterface.NetworkInterfaceType,它是靜態的。 –

+0

很好用,現在我試着給'NetowrkInterfaceType'添加一個通知,以便在事件發生變化時觸發它。謝謝你的幫助。 http://stackoverflow.com/questions/21617822/how-to-add-listener-to-the-property-already-defined-in-net –

相關問題