📜  c# 如何检查互联网连接 - C# (1)

📅  最后修改于: 2023-12-03 15:29:47.242000             🧑  作者: Mango

C#如何检查互联网连接

在许多应用程序开发中,需要检查当前设备是否连接到互联网,这通常用于确保应用程序可以获取在线资源或与网络进行通信。在C#中,可以使用各种方法来检查互联网连接。

使用Ping类

在C#中,可以使用Ping类来检查当前设备是否连接到互联网。该类在System.Net.NetworkInformation命名空间中,可以通过以下方式使用:

using System.Net.NetworkInformation;

...

public bool IsInternetConnected()
{
    using (Ping ping = new Ping())
    {
        try
        {
            PingReply reply = ping.Send("www.google.com");
            return (reply.Status == IPStatus.Success);
        }
        catch (PingException)
        {
            return false;
        }
    }
}

上述代码中的IsInternetConnected()方法使用Ping类发送ping消息到谷歌的网站来检查设备是否连接到互联网。该方法返回bool类型的值,表示设备是否连接到互联网。

使用WebRequest类

另一种使用C#检查互联网连接的方法是使用WebRequest类。该类在System.Net命名空间中,可以通过以下方式使用:

using System.Net;

...

public bool IsInternetConnected()
{
    try
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.google.com");
        request.Timeout = 5000;
        request.Credentials = CredentialCache.DefaultNetworkCredentials;
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        return (response.StatusCode == HttpStatusCode.OK);
    }
    catch (WebException)
    {
        return false;
    }
}

Ping类不同,WebRequest类使用HTTP通信来检查互联网连接。上述代码中的IsInternetConnected()方法使用WebRequest类发送请求到谷歌网站并返回响应。如果响应的状态代码为OK,则表示设备连接到互联网。

总结

以上是两种使用C#检查互联网连接的方法。这些方法需要在当前设备上运行,并返回bool类型的值以指示设备是否连接到互联网。无论您选择哪种方法,都可以确保应用程序在连接到互联网时能够正常获得在线资源或与网络进行通信。