C# 如何检查服务器是否处于活动状态?
我想在不使用Ping()方法的情况下检查服务器是否处于活动状态 有什么解决办法吗 在目前的情况下,我可以使用下面的方法C# 如何检查服务器是否处于活动状态?,c#,.net,winforms,active-directory,C#,.net,Winforms,Active Directory,我想在不使用Ping()方法的情况下检查服务器是否处于活动状态 有什么解决办法吗 在目前的情况下,我可以使用下面的方法 public static bool PingToServer(string ipServer) { bool isServerLife = false; try { Ping ping = new Ping(); PingReply pingReply = ping.Sen
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;
}
如果是问题中标记的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 ;
}
}
因此,您可以ping一台机器,但它仍然没有响应?请勾选所选答案。仅因为您可以ping,并不意味着任何应用程序都在该机器上运行。您想要实现什么?它们(389和3268)的用途是什么?如上所述,如果您的问题中标记了Active Directory服务器,您应该选中389或3268。如果您有web服务器,您可以检查80。如果您有ftp服务器,您可以检查21,…我们应该只检查其中一个或两个?其中一个就足够了。如果管理员更改为其他端口,我们应该如何检测它们?