Esempio n. 1
0
        } = false;              // флаг включения регистрации на сервере

        private void Listener() // метод приема сообщений от клиентов
        {
            while (true)
            {
                try
                {
                    byte[] buffer   = new byte[65536];                                                 // создаем буфер
                    int    bytesRec = _handler.Receive(buffer);                                        // принимаем зашифрованное сообщение
                    Array.Resize(ref buffer, bytesRec);
                    buffer = DESCryptography.Decrypt(buffer, DESCryptography.Key, DESCryptography.Iv); // расшифровываем сообщение
                    string data = Encoding.UTF8.GetString(buffer);                                     // переводим массив байтов в текст
                    HandleCommand(data);                                                               // передаем сообщение в обработчик команд
                }
                catch { Server.EndClient(this); return; } // в случае ошибки отключаем клиента
            }
        }
Esempio n. 2
0
 public void Send(string command)  // метод отправки данных клиенту
 {
     {
         try
         {
             if (command == string.Empty)
             {
                 return;
             }
             byte[] buffer    = DESCryptography.Encrypt(command, DESCryptography.Key, DESCryptography.Iv); // шифруем сообщение
             int    bytesSent = _handler.Send(buffer);                                                     // отправляем зашифрованное сообщение
             if (bytesSent > 0)
             {
                 Console.WriteLine("Сообщение успешно отправленно.");
             }
         }
         catch (Exception exp)
         {
             Console.WriteLine($"Ошибка в методе Send: {exp.Message}.");
             Server.EndClient(this); // В случае ошибки отключаем клиента
         }
     }
 }