0

有人知道查看用户是否在线/离线的好方法吗?当我使用 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();
4

3 回答 3

2

我用

public static bool IsConnectedToInternet()
{
    ConnectionProfile connectionProfile = NetworkInformation.GetInternetConnectionProfile();
    return (connectionProfile!=null && connectionProfile.GetNetworkConnectivityLevel() == NetworkConnectivityLevel.InternetAccess);

 }
于 2012-10-20T12:36:29.087 回答
0

您可以 ping 少数众所周知的 URL 之一,看看您是否得到响应。

于 2012-10-19T23:56:51.520 回答
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...";
            }
于 2012-10-21T18:06:26.960 回答