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

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

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

Доброго времени постояльцы. Подскажите как сделать следующее. Форма при открытии коннектится к серверу и срабатывает таймер. Если сервер не доступен, то нужно попробовать подключиться через N секунд. Если сервер доступен, то проверять подключение через N секунд. Если доступен, делаем по новой, через N времени снова просто проверяем. Если не доступен, выводим сообщение и пробуем подключиться.
Листинг программы
  1. private void timer1_Tick(object sender, EventArgs e)
  2. {
  3. TcpClient tcpClient;
  4. NetworkStream networkStream;
  5. StreamReader streamReader;
  6. StreamWriter streamWriter;
  7. try
  8. {
  9. tcpClient = new TcpClient("192.168.12.31", 5555); // куда подкл + переменная
  10. networkStream = tcpClient.GetStream(); //попытка подключения
  11. streamReader = new StreamReader(networkStream); //подхватываем поток чтения
  12. streamWriter = new StreamWriter(networkStream); // поток записи
  13. streamWriter.WriteLine("Client: ГОТОВ"); // передаём сообщение на сервер
  14. streamWriter.Flush();
  15. }
  16. catch (SocketException)
  17. {
  18. MessageBox.Show("Вы не подключены к серверу!\n\r\n\rВозможно сервер выключен\n\rПрограмма будет работать в автономном режиме " , "Внимание" , MessageBoxButtons.OK, MessageBoxIcon.Warning);
  19. }
  20. //В лэйбл выводим значение timerCounter уменьшеное на 1
  21. this.label2.Text = (--timerCounter).ToString();
  22. if (label2.Text == "0")
  23. {
  24. timer.Stop();
  25. MessageBox.Show("Время вышло");
  26. }

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

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

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут