繁体   English   中英

如何使用Xamarin.iOS枚举ipv4地址和ipv4mask

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM