Example #1
0
        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();       // отключаемся от сервера
        }
Example #2
0
        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 = "Войти";
                }
            }
        }
Example #3
0
        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 = "Выйти";
            }
        }