在.Net(windows 7)中可靠地检查网络连接类型
本文关键字:检查 网络 类型 连接 Net windows | 更新日期: 2024-09-23 07:36:54
在.Net(桌面,Win7)中,是否有一种规范的方法可以可靠地检查网络连接类型,以确定活动网络连接是否为移动连接?
目前我有这个:
public bool IsMobileConnectionActive()
{
if (!NetworkInterface.GetIsNetworkAvailable()) return false;
// PPP & broadband Interfaces
var broadbandTypes = new[]
{
NetworkInterfaceType.Ppp,
NetworkInterfaceType.Wwanpp,
NetworkInterfaceType.Wwanpp2
};
var mobileInterfaces = from nic in NetworkInterface.GetAllNetworkInterfaces()
where nic.OperationalStatus == OperationalStatus.Up
where broadbandTypes.Contains(nic.NetworkInterfaceType)
select nic;
return mobileInterfaces.Any();
}
然而,检查特定的网络接口类型似乎相当脆弱。例如,在.net 4中,类型Wwanpp和Wwanpp2不可用。
理想情况下,该检查将由框架以某种方式提供。。。
有更好的方法吗?
考虑到当前时代"Mobile"的用例数量,我认为您将很难可靠地做到这一点。例如,用户可以连接到他们的智能手机,连接到像这样的3g/4g集线器设备,我相信所有这些都会像任何其他Wifi连接一样。
这真的取决于你为什么要这么做?你也许可以测试连接的延迟,但随着移动网络的改进,这将变得不那么可靠。