【问题标题】:How to check a server is alive? [duplicate]如何检查服务器是否存活? [复制]
【发布时间】:2014-07-02 07:56:15
【问题描述】:

我想在不使用 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;
    }

【问题讨论】:

  • 所以你可以 ping 一台机器,但它仍然没有响应?
  • 检查选择的答案here
  • 仅仅因为您可以 ping 它并不意味着任何应用程序都在盒子上运行。你想达到什么目的?

标签: c# .net winforms active-directory


【解决方案1】:

如果它是您问题中标记的 Active Directory 服务器。您可以检查端口3893268

public static bool IsADSAlive(String hostName) 
{
    try {
        using (TcpClient tcpClient = new TcpClient()) 
        {
           tcpClient.Connect(hostName, 3268);
           return true; 
        } 
    }  catch (SocketException) { 

      return false ; 
    }
}

【讨论】:

  • 他们(389 和 3268)有什么用?
  • 如上所述,如果您在问题中标记了 Active Directory 服务器,则应检查 389 或 3268。如果您有 Web 服务器,则可以检查 80。如果您有 ftp 服务器你可以检查 21,...
  • 我们应该只检查其中一个还是两个都检查?
  • 一个就够了。
  • 如果管理员更改为其他端口,我们应该怎么做才能检测到它们?
猜你喜欢
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-16
  • 2021-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多