.NET 4.x Заново проверить подключение по истечению таймера - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени постояльцы. Подскажите как сделать следующее. Форма при открытии коннектится к серверу и срабатывает таймер. Если сервер не доступен, то нужно попробовать подключиться через N секунд. Если сервер доступен, то проверять подключение через N секунд. Если доступен, делаем по новой, через N времени снова просто проверяем. Если не доступен, выводим сообщение и пробуем подключиться.
private void timer1_Tick(object sender, EventArgs e)
        {
 TcpClient tcpClient;
            NetworkStream networkStream;
            StreamReader streamReader;
            StreamWriter streamWriter;
            try
            {
                tcpClient = new TcpClient("192.168.12.31", 5555); // куда подкл + переменная
                networkStream = tcpClient.GetStream(); //попытка подключения
                streamReader = new StreamReader(networkStream); //подхватываем поток чтения
                streamWriter = new StreamWriter(networkStream); // поток записи
                streamWriter.WriteLine("Client: ГОТОВ"); // передаём сообщение на сервер
                streamWriter.Flush();
            }
            catch (SocketException)
            {
                MessageBox.Show("Вы не подключены к серверу!\n\r\n\rВозможно сервер выключен\n\rПрограмма будет работать в автономном режиме " , "Внимание" , MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            //В лэйбл выводим значение timerCounter уменьшеное на 1
            this.label2.Text = (--timerCounter).ToString();
            if (label2.Text == "0")
            {
                timer.Stop();
                MessageBox.Show("Время вышло");
            }

Решение задачи: «.NET 4.x Заново проверить подключение по истечению таймера»

textual
Листинг программы
while (!server)
                {
                    Console.WriteLine("Подключаемся")
                    networkStream = tcpClient.GetStream();
                    Thread.Sleep(1000);
                if (server)
                    Console.WriteLine("Сервер подключен");
                else
                {
                    Console.WriteLine("Сервер не подключен, повторная попытка через 5 секунд");
                        Thread.Sleep(5000);
                }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5