private async void StartReadingMesssageAsync() { Blowfish blowfish = new Blowfish(123456789); while (true) { byte[] bt; bt = await Task.Run(() => StartReadingMesssage()); // Отправленно "ничего", значит пользователь вышел if (bt == null) { Close(); return; } bt = blowfish.ECB_Decrypt(bt, _workWithMessage.OurKeyForCrypt); // Отправлено изображение if ((bt[0] == '/') && (bt[1] == 'i')) { _workWithMessage.TakeAndAddDecryptedImageFromMessage(bt); AppendFriendMessage("/Отправил файл image\\" + " длинной " + (bt.Length - 2).ToString() + " байт\n"); continue; } // Отправлена музыка if ((bt[0] == '/') && (bt[1] == 'm')) { _workWithMessage.TakeAndAddDecryptedMusicFromMessage(bt); AppendFriendMessage("/Отправил файл mp3\\" + " длинной " + (bt.Length - 2).ToString() + " байт\n"); continue; } // Отправлен просто текст от собеседника AppendFriendMessage(bt); } }
/// <summary> /// Отправляет сообщение другому пользователю /// </summary> /// <param name="message"> String сообщение </param> public void SendMessage(string message) { Blowfish blowfish = new Blowfish(123456789); _sock.Send(blowfish.ECB_Encrypt(Encoding.UTF8.GetBytes(message), OurKeyForCrypt)); }
/// <summary> /// Отправляет сообщение другому пользователю /// </summary> /// <param name="message"> Байты сообщения </param> public void SendMessage(byte[] message) { Blowfish blowfish = new Blowfish(123456789); _sock.Send(blowfish.ECB_Encrypt(message, OurKeyForCrypt)); }