.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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д