任何人都知道查看用户是否在线/离线的好方法吗?当我使用public static bool IsConnectedToNetwork();看看它是假的还是真的似乎永远都是真的,即使我关闭我的互联网来测试它......
我错过了什么吗?
public static bool nets()
{
bool go =
System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();
if (go == false)
{
return false;
}
return true;
}
现在,在我的初创公司中,我跑了:
var ba = nets();
if (ba == false)
{
txtHeader.Text = "err";
}
if (ba != false)
{
// Code
}
我也尝试过:
public static bool IsConnectedToNetwork();
答案 0 :(得分:2)
我用
public static bool IsConnectedToInternet()
{
ConnectionProfile connectionProfile = NetworkInformation.GetInternetConnectionProfile();
return (connectionProfile!=null && connectionProfile.GetNetworkConnectivityLevel() == NetworkConnectivityLevel.InternetAccess);
}
答案 1 :(得分:0)
您可以ping几个众所周知的网址之一,看看您是否收到回复。
答案 2 :(得分:0)
我有一种看起来相当不错的方式,特别注意有时以太网似乎正在使用,即使它不在Windows 8 RTM中......这就是为什么似乎没有任何效果!
然而,做以下情况对我来说是一个不错的选择......
var profile = Windows.Networking.Connectivity.NetworkInformation.GetInternetConnectionProfile();
var interfaceType = profile.NetworkAdapter.IanaInterfaceType;
// 71 is WiFi & 6 is Ethernet
if (interfaceType == 71 | interfaceType == 6)
{
// Run Code
}
/* 3G/Mobile Detect
else if (interfaceType == 243 | interfaceType == 244)
{
// Run Code if you need to use a less quality feature.
}*/
else
{
txtHeader.Text = "Error, Check connection or Try connecting to the Internet...";
}