private static bool CheckConnection(Uri serverUri)
{
var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
var result = socket.BeginConnect(serverUri.Host, serverUri.Port, null, null);
bool success = result.AsyncWaitHandle.WaitOne(3000, true);
return success;
}
finally
{
socket.Close();
}
}
private static bool IsUrlReachable(string url)
{
_request = (HttpWebRequest)WebRequest.Create(url);
_request.Timeout = 15000;
_request.Method = "HEAD"; // As per Lasse's comment
try
{
using (HttpWebResponse response = (HttpWebResponse)_request.GetResponse())
{
return response.StatusCode == HttpStatusCode.OK;
}
}
catch (WebException)
{
return false;
}
}
C#中判断远端服务器可达
最新推荐文章于 2020-11-21 18:59:08 发布