コード例 #1
0
ファイル: MainForm.cs プロジェクト: urglmorl-csharp/Server
 // Функция изменения состояния сервера
 private void ChangeStatus()
 {
     SocketHelper.ChangeStatus(); // Изменяет состояние
     if (SocketHelper.Status)     // Узнаёт, запущен ли сервер
     // Если запущен, меняет форму
     {
         statusLabel.Text = "Сервер запущен";
         button1.Text     = "Остановить сервер";
         button2.Visible  = true;
         // И запускает новый поток
         new Thread(() => {
             Thread.CurrentThread.IsBackground = true;
             while (SocketHelper.Status)
             {
                 // Который отображает количество подключенных клиентов
                 connectedLabel.BeginInvoke((MethodInvoker)(() => {
                     connectedLabel.Text = $"Подключено {ClientHandler.testings.Count} студентов";
                 }));
                 // И делает это раз в секунду
                 Thread.Sleep(1000);
             }
         }).Start();
     }
     else
     {
         // Если сервер не запущен, меняет форму
         statusLabel.Text    = "Сервер отключен";
         button1.Text        = "Запустить сервер";
         connectedLabel.Text = "";
         button2.Visible     = false;
     }
 }