1

如何使用cordova(phonegap)在wp8上获取本地IP地址?也许我需要以下线程的答案,但是在 C# Get local IP address of client using javascript

4

2 回答 2

5

如果您可以从 cordova 调用 C# 代码,那么在 C# 中它是这样实现的:

Windows.Networking.Connectivity.NetworkInformation.GetHostNames();

生成的集合包含有关电话所有网络接口的信息,通过Windows.Networking.HostName类的实例。您可以从该实例获取 IP 地址:Windows.Networking.HostName.CanonicalName.

请注意,您可能会在响应中收到多个接口。最有可能的是,您将获得一个用于蜂窝网络调制解调器和一个用于 Wi-Fi 网络。如果需要区分它们,可以使用Windows.Networking.HostName.IPInformation.NetworkAdapter.IanaInterfaceType属性。对于 Wi-Fi,它将包含值 71。对于蜂窝网络(至少对于我当前的电话和运营商而言),它显示 244。值的完整列表可以在IANA 网站上找到。

于 2013-04-19T13:50:39.083 回答
2

这在 C# 中也对我有用.. 对于那些需要它的人,这里有一个数字列表:

http://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.connectivity.networkadapter.ianainterfacetype(v=win.10).aspx

代码示例:

 var l = Windows.Networking.Connectivity.NetworkInformation.GetHostNames();
 foreach (var item in l)
 {
   if (item.Type == Windows.Networking.HostNameType.Ipv4 &&
                   ( item.IPInformation.NetworkAdapter.IanaInterfaceType == 71 || // 71 =  An IEEE 802.11 wireless network interface. (device) 
                    item.IPInformation.NetworkAdapter.IanaInterfaceType == 6) )   // 6 =  An Ethernet interface. (emulator)
      {    
         IPAddr = item.DisplayName;
      }

 }
于 2014-07-23T20:11:12.110 回答