我正在尝试创建一个 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/