有没有比下面的代码更好的检查工作 Internet 连接的方法,因为它总是返回 true,我不知道为什么。
bool isNetwork=NetworkInterface.GetIsNetworkAvailable();
if(!isNetwork)
{
MessageBox.Show("Available.");
}
有没有比下面的代码更好的检查工作 Internet 连接的方法,因为它总是返回 true,我不知道为什么。
bool isNetwork=NetworkInterface.GetIsNetworkAvailable();
if(!isNetwork)
{
MessageBox.Show("Available.");
}
GetIsNetworkAvailable
根据可用的网络接口返回结果。您应该关闭所有无线电或打开飞行模式以使其返回 false。
您可能还想检查:
NetworkInterface.NetworkInterfaceType == NetworkInterfaceType.None
但实际上,您可能想要做的是检查您是否可以访问特定的 URI。如果您和端点之间存在代理会阻止连接,或者即使您尝试访问的服务器已关闭或遇到错误,仅知道您是否可以连接到“互联网”也无济于事。
如果您想知道是否可以从特定端点检索您想要的数据,唯一确定的方法就是尝试。如果你成功了,那么你可以。如果没有,可能有很多原因。
也试试这个,
public static bool CheckNetworkConnection()
{
var networkInterface = NetworkInterface.NetworkInterfaceType;
bool isConnected = false;
if ((networkInterface == NetworkInterfaceType.Wireless80211)||(networkInterface== NetworkInterfaceType.MobileBroadbandGsm)||(networkInterface==NetworkInterfaceType.MobileBroadbandCdma))
isConnected = true;
else if (networkInterface == NetworkInterfaceType.None)
isConnected = false;
return isConnected;
}