[英]How do I enumerate ipv4 addresses and ipv4mask using Xamarin.iOS
我正在尝试使用iOS枚举所有网络接口的IP地址和子网掩码。
System.Net.NetworkInformation.NetworkInterface[] nics = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces();
foreach (System.Net.NetworkInformation.NetworkInterface nic in nics)
{
var ipProps = nic.GetIPProperties();
// We're only interested in IPv4 addresses for this example.
var ipv4Addrs = ipProps.UnicastAddresses
.Where(addr => addr.Address.AddressFamily == AddressFamily.InterNetwork);
foreach (var addr in ipv4Addrs)
{
UnicastIPAddressInformation addrInfo = (UnicastIPAddressInformation)addr;
IPAddress ipAddr = addrInfo.Address;
IPAddress mask = addrInfo.IPv4Mask;
string x = mask.ToString(); // NotImplementedException is thrown here.
}
}
当我尝试获取IP4掩码时,似乎抛出了NotImplementedException。 看来Mono没有实现此属性。
使用Xamarin.iOS类或iOS API调用还有其他方法吗?
我试图刮擦自己的ich,所以我研究了mono基类库并重用了在那里找到的平台调用。 我创建了一个小的iPhone应用程序,枚举了网络接口,并显示了地址和掩码。
这是带有源代码的github存储库-NetworkTest
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.