C# 程式(軟體)判斷/檢測 網路是否連線
C# 程式(軟體)判斷/檢測 網路是否連線
資料來源: https://www.itread01.com/content/1546421780.html
Method 1: WebRequest
public static bool WebRequestTest()
{
string url = "http://www.google.com";
try
{
System.Net.WebRequest myRequest = System.Net.WebRequest.Create(url);
System.Net.WebResponse myResponse = myRequest.GetResponse();
}
catch (System.Net.WebException)
{
return false;
}
return true;
}
Method 2: TCP Socket
public static bool TcpSocketTest()
{
try
{
System.Net.Sockets.TcpClient client =
new System.Net.Sockets.TcpClient("www.google.com", 80);
client.Close();
return true;
}
catch (System.Exception ex)
{
return false;
}
}
Method 3: Ping
public bool PingTest()
{
System.Net.NetworkInformation.Ping ping = new System.Net.NetworkInformation.Ping();
System.Net.NetworkInformation.PingReply pingStatus =
ping.Send(IPAddress.Parse("208.69.34.231"),1000);
if (pingStatus.Status == System.Net.NetworkInformation.IPStatus.Success)
{
return true;
}
else
{
return false;
}
}
Method 4: DNS Lookup
public static bool DnsTest()
{
try
{
System.Net.IPHostEntry ipHe =
System.Net.Dns.GetHostByName("www.google.com");
return true;
}
catch
{
return false;
}
}
Method 5: Windows Internet API (WinINet)
[DllImport("wininet.dll")]
private extern static bool InternetGetConnectedState(out int connDescription, int ReservedValue);
//check if a connection to the Internet can be established
public static bool IsConnectionAvailable()
{
int Desc;
return InternetGetConnectedState(out connDesc, 0);
}