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