c# - 如何验证 C# 中的互联网连接是否良好?

标签 c# windows-runtime windows-store-apps internet-connection

我正在尝试创建一个 Windows 应用商店应用程序,它执行多个需要互联网连接的事件。 我的代码通过将数据存储在临时 SQLite 数据库中来处理无互联网连接,但仅当没有互联网连接时。像这样:

    // C#
    public bool isInternetConnected()
    {

        ConnectionProfile conn = NetworkInformation.GetInternetConnectionProfile();
        bool isInternet = conn != null && conn.GetNetworkConnectivityLevel() == NetworkConnectivityLevel.InternetAccess;
        return isInternet;
    }

现在,我的问题是当我的互联网连接不好时。我的任务将超时,我将不得不处理超时或修改此方法。

有没有人有好的方法来处理这个????

最佳答案

试试这个: 如果结果在 40 ~ 120 之间,则延迟良好,并且您的连接良好:)

用法:

PingTimeAverage("stackoverflow.com", 4);

实现:

public static double PingTimeAverage(string host, int echoNum)
{
    long totalTime = 0;
    int timeout = 120;
    Ping pingSender = new Ping ();

    for (int i = 0; i < echoNum; i++)
    { 
        PingReply reply = pingSender.Send (host, timeout);
        if (reply.Status == IPStatus.Success)
        {
            totalTime += reply.RoundtripTime;
        }
    }
    return totalTime / echoNum;
}

关于c# - 如何验证 C# 中的互联网连接是否良好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22794834/

相关文章:

gridview - 如何按字母顺序对 GridView 项目进行分组 : Windows Store App

c# - UWP (Windows 10) 应用程序提交失败

c# - 如何使用 System.Web.HttpUtility.UrlEncode 转换字符串数组中的单词

rust - 如何使用 winrt-rs 创建 MessageDialog?

c++ - WinRT __FUNCTION__ 未定义

c# - 适用于 WinRT 的 AppBarButtonSyle

c# - ScrollViewer 中的图像导致内存泄漏

c# - VSTO:电子邮件编辑器插件 - 获取当前光标位置

c# - 创建回文程序时出现逻辑错误

c# - 重载与泛型参数