在静态IP上持续ping通,如果返回false,则发送电子邮件

时间:2019-03-06 06:07:36

标签: c# ip-address ping

我陷入混乱,于是敲开了社区的大门。 我需要编写一个程序,通过该程序我需要连续命中特定的static IP地址(业务需求)。并且如果任何时间特定IP地址没有回复,我需要发送紧急电子邮件给上级主管部门,说明服务器已关闭。

我需要问一些问题,哪一个适合这种事情?

  • 控制台应用程序可以完成我的工作吗?

  • 我如何使我的控制台应用程序运行并击中所有 时间?

  • 我应该使用循环连续命中的方法

我尝试了for循环,但是遇到了一些问题,当我在一段时间以下运行代码时,returning false like after every 25 requestsreturn false 1 time的问题所在?

public static bool PingHost(string nameOrAddress)
    {
        bool pingable = false;
        Ping pinger = null;

        try
        {
            pinger = new Ping();
            PingReply reply = pinger.Send(nameOrAddress);
            pingable = reply.Status == IPStatus.Success;
        }
        catch (PingException)
        {
           // send email something went wrong please check 
        }
        finally
        {
            if (pinger != null)
            {
                pinger.Dispose();
            }
        }

        return pingable;
    }
    static void Main(string[] args)
    {
        int count; ;
        string address = "ip-adress";
        for(count = 1; count >0; count++ )
        {
            bool response = PingHost(address);
            if (response)
            {
                Console.WriteLine("Ping successfull  " + address);
            }
            else
            {
              // send email that server is down. 
            }
        }


        Console.ReadLine();
    }

0 个答案:

没有答案