GetAllNetworkInterfaces()抛出异常

时间:2012-04-02 09:32:00

标签: c# android networking mono xamarin.android

在Mono for Android中,我试图在本地网络中获取设备的所有IP地址。

我不介意回送,但我对调用DNS不感兴趣。

最好的方法似乎是打电话......

using System.Net.NetworkInformation;

NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();

......除了它抛出......

  

System.EntryPointNotFoundException:getifaddrs

有什么建议吗?

2 个答案:

答案 0 :(得分:6)

不幸的是,这是Mono for Android中的一个已知错误。错误报告可用here

答案 1 :(得分:0)

如果您只使用Mono for Android,则可以尝试使用此代码获取每个IP:

Java.Util.IEnumeration networkInterfaces = NetworkInterface.NetworkInterfaces;
while(networkInterfaces.HasMoreElements) {
    Java.Net.NetworkInterface netInterface = (Java.Net.NetworkInterface)networkInterfaces.NextElement();
    Console.WriteLine(netInterface.ToString());
}

输出:

  

[10] [1] [/ :: 1%1%1] [/ 127.0.0.1]
  [dummy0] [2]
  [sit0] [3]
  [ip6tnl0] [4]
  [为wlan0] [5] [/ FE80 :: 8e77:12FF:fe5a:6052%为wlan0%5] [/ 192.168.100.135]
  [ppp0的] [6] [/ 10.0.0.1]

相关问题