Непрерывно пингуйте по статическому IP и если возвращаете ложь отправьте Email - PullRequest
0 голосов
/ 06 марта 2019

Я застрял в замешательстве, поэтому стучу в дверь сообщества.Мне нужно создать программу, с помощью которой мне нужно постоянно нажимать на конкретный адрес static IP (Бизнес-потребность).и если какой-либо конкретный IP-адрес не отвечает, мне нужно отправить экстренное электронное письмо вышестоящим органам, чтобы сервер не работал.

Мне нужно задать несколько вопросов, какой из них подходит для этих вещей?

  • Может ли консольное приложение выполнить мою работу?

  • как я могу заставить мое консольное приложение работать и постоянно нажимать?

  • Какой должен быть подход, если я буду использовать цикл для непрерывного нажатия

Я пытался использовать цикл for, но у меня возникла какая-то проблема,Когда я запускаю код ниже некоторое время, это returning false like after every 25 requests, что return 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();
    }
...