【问题标题】:How can I check the internet connectivity of a PC?如何检查 PC 的 Internet 连接?
【发布时间】:2011-06-20 12:29:48
【问题描述】:

我正在开发一种软​​件,我想检查使用我的软件的那台 PC 是否具有用于所需目的的 Internet 连接。 意味着我正在使用 web 服务,并且 web 服务在远程机器上的管理员端运行,我允许用户访问远程数据库。它应该适用于所有类型的互联网连接,如 LAN、WiFi、拨号或用户正在使用的任何东西。

如何做到这一点?

我想从你们所有人那里得到一个好处..如果我使用以下代码,那么它是否能满足我的所有要求?

using Microsoft.VisualBasic.Devices; 
Computer oComputer = new Computer(); 
if (oComputer.Network.IsAvailable == true) 
{ 
MessageBox.Show("Internet connection available"); 
} 
else 
{ 
MessageBox.Show("Internet connection not available"); 
}

谢谢。

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable() 应该可以得到你想要的。

    【讨论】:

    • 我不确定这是否足够。我相信这意味着您有一个在线的网络接口(卡,拨号,...)。这并不意味着 PC 可以访问互联网。
    • 然后在后面加上if (new System.Net.NetworkInformation.Ping().Send("myinternethost.com").Status == IPStatus.Success),看看是否存在与外部主机的连接。
    • 应该可以,最重要的是可以确认访问正确的服务器。根据 OP 部署到的环境类型,对 Internet 的访问可能会受到限制。
    【解决方案2】:

    测试互联网连接的有效方法是使用InternetGetConnectedState() WinAPI。但是,如果您确实有自己的 Web 服务要尝试连接,那么您始终可以向该服务添加一个辅助 ping 方法,如果一切正常,该方法返回一个布尔值 true。

    【讨论】:

    • 感谢您的回复。但我不知道辅助 ping 方法。你帮我吗?
    【解决方案3】:

    有人问了simillar的问题,你应该在问问题之前检查一下。

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 1970-01-01
      • 2018-10-09
      • 1970-01-01
      • 2014-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多