private void ChatLogOff() // выйти из чата { if (BtnChatSend.InvokeRequired) { BtnChatSend.Invoke(new Action(() => BtnChatSend.Enabled = false)); } else { BtnChatSend.Enabled = false; } if (TxtBoxChatMsg.InvokeRequired) { TxtBoxChatMsg.Invoke(new Action(() => TxtBoxChatMsg.Enabled = false)); } else { TxtBoxChatMsg.Enabled = false; } if (BtnEnterChat.InvokeRequired) { BtnEnterChat.Invoke(new Action(() => BtnEnterChat.Enabled = true)); } else { BtnEnterChat.Enabled = true; } if (BtnEnterChat.InvokeRequired) { BtnEnterChat.Invoke(new Action(() => BtnEnterChat.Text = "Войти")); } else { BtnEnterChat.Text = "Войти"; } if (menuStrip.InvokeRequired) { TxtBoxUserName.Invoke(new Action(() => регистрацияToolStripMenuItem.Enabled = false)); } else { регистрацияToolStripMenuItem.Enabled = false; } _authoriz = false; _connection = false; ClearChat(); // очищаем чат ClearOnlineUsers(); // очищаем список онлайн пользователей EndSession(); // отключаемся от сервера }
private void Listner() // слушаем сообщения с сервера { try { while (_serverSocket.Connected) // если сокет подключен к удаленному узлу, то считываем данные { byte[] buffer = new byte[65536]; // создаем буфер для приема сообщений int bytesRec = _serverSocket.Receive(buffer); // принимаем данные Array.Resize(ref buffer, bytesRec); // обрезаем массив байтов по длине полученного сообщения buffer = DESCryptography.Decrypt(buffer, DESCryptography.Key, DESCryptography.Iv); // расшифровываем сообщение string data = Encoding.UTF8.GetString(buffer); // преобразуем массив байтов в текст HandleCommand(data); // передаем сообщение в обработчик команд } } catch (Exception) { ClearChat(); // очищаем окно чата ClearOnlineUsers(); // очищаем список онлайн пользователей Print($"Вы были отключены от сервера!"); // Возвращаем все элементы формы в начальное положеие if (menuStrip.InvokeRequired) { TxtBoxUserName.Invoke(new Action(() => регистрацияToolStripMenuItem.Enabled = true)); } else { регистрацияToolStripMenuItem.Enabled = true; } if (TxtBoxUserName.InvokeRequired) { TxtBoxUserName.Invoke(new Action(() => TxtBoxUserName.Enabled = true)); } else { TxtBoxUserName.Enabled = true; } if (TxtBoxUserPassword.InvokeRequired) { TxtBoxUserPassword.Invoke(new Action(() => TxtBoxUserPassword.Enabled = true)); } else { TxtBoxUserPassword.Enabled = true; } if (BtnEnterChat.InvokeRequired) { BtnEnterChat.Invoke(new Action(() => BtnEnterChat.Enabled = true)); } else { BtnEnterChat.Enabled = true; } if (BtnChatSend.InvokeRequired) { BtnChatSend.Invoke(new Action(() => BtnChatSend.Enabled = false)); } else { BtnChatSend.Enabled = false; } if (TxtBoxChatMsg.InvokeRequired) { TxtBoxChatMsg.Invoke(new Action(() => TxtBoxChatMsg.Enabled = false)); } else { TxtBoxChatMsg.Enabled = false; } if (BtnEnterChat.InvokeRequired) { BtnEnterChat.Invoke(new Action(() => BtnEnterChat.Text = "Войти")); } else { BtnEnterChat.Text = "Войти"; } } }
private void AuthSucsess() { // Активируем видимость элеменов чата и отключаем видимость элементов регистрации в чате if (TxtBoxChatMsg.InvokeRequired) { TxtBoxChatMsg.Invoke(new Action(() => TxtBoxChatMsg.Enabled = true)); } else { TxtBoxChatMsg.Enabled = true; } if (BtnChatSend.InvokeRequired) { BtnChatSend.Invoke(new Action(() => BtnChatSend.Enabled = true)); } else { BtnChatSend.Enabled = true; } if (TxtBoxUserPassword.InvokeRequired) { TxtBoxUserPassword.Invoke(new Action(() => TxtBoxUserPassword.Enabled = false)); } else { TxtBoxUserPassword.Enabled = false; } if (TxtBoxUserName.InvokeRequired) { TxtBoxUserName.Invoke(new Action(() => TxtBoxUserName.Enabled = false)); } else { TxtBoxUserName.Enabled = false; } if (TxtBoxChatMsg.InvokeRequired) { TxtBoxChatMsg.Invoke(new Action(() => TxtBoxChatMsg.Focus())); } else { TxtBoxChatMsg.Focus(); } if (BtnEnterChat.InvokeRequired) { BtnEnterChat.Invoke(new Action(() => BtnEnterChat.Enabled = true)); } else { BtnEnterChat.Enabled = true; } if (BtnEnterChat.InvokeRequired) { BtnEnterChat.Invoke(new Action(() => BtnEnterChat.Text = "Выйти")); } else { BtnEnterChat.Text = "Выйти"; } }