我想在没有使用Ping()方法的情况下检查服务器是否存活。
对此有什么解决方案吗?
目前,下面的方法对我来说没问题。
public static bool PingToServer(string ipServer)
{
bool isServerLife = false;
try
{
Ping ping = new Ping();
PingReply pingReply = ping.Send(ipServer, 5000);
if (pingReply.Status == IPStatus.Success)
{
isServerLife = true;
}
}
catch (Exception e)
{
Console.Write("PingToServer: Cannot ping to server, " + e.Message);
}
return isServerLife;
}
答案 0 :(得分:2)
如果它是您问题中标记的Active Directory服务器。您可以查看端口389
或3268
。
public static bool IsADSAlive(String hostName)
{
try {
using (TcpClient tcpClient = new TcpClient())
{
tcpClient.Connect(hostName, 3268);
return true;
}
} catch (SocketException) {
return false ;
}
}