当前位置:编程学习 > C#/ASP.NET >>

求救,通过NetworkInterface中IPv4Mask获取子网掩码始终为空


List<NetworkInterface> _list = new List<NetworkInterface>();
NetworkInterface[] nsi = NetworkInterface.GetAllNetworkInterfaces();//获取本地计算机上网络接口的对象

foreach (var ni in nsi)
{
if (ni.NetworkInterfaceType == NetworkInterfaceType.Tunnel || ni.NetworkInterfaceType == NetworkInterfaceType.Loopback)
{
continue;
}

IPInterfaceProperties properties = ni.GetIPProperties();

foreach (UnicastIPAddressInformation ipInfo in properties.UnicastAddresses)
{
if (Helper.IsIPAddress(ipInfo.Address.ToString()))//获取IP地址
{
ip = ipInfo.Address.ToString();
}
if (Helper.IsIPAddress(ipInfo.IPv4Mask.ToString()))
{
subnet = ipInfo.IPv4Mask.ToString();
}

......
}

this.cbNetworkAdapter.Items.Add(ni);
_list.Add(ni);
}


本地连接中手动配置的IP、子网掩码、网关和DNS。自己试了也在网上找了相似的办法来测试,IPv4Mask始终都是null。求教,除此之外还有其他获取的办法还是我这个没有用对呢?还有,WMI跟NetworkInterface哪个更好呢? --------------------编程问答-------------------- mark --------------------编程问答-------------------- 本地连接中手动配置的IP、子网掩码、网关和DNS
请用过的人指点 --------------------编程问答-------------------- 杯了个具啊。。- -!! --------------------编程问答-------------------- 比如我“本地连接”没有连接网线,其他各项什么IP、网关、DNS都可以获取到,只有子网掩码IPv4Mask不能取到。但是如果是连了网线就可以取到。但是我想既然断开状态其他的参数都可以获取到,这个获取不到?实在不明白原因。真心求答案。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,