Соединить обычную строку и байтовый массив и преобразовать это все в byte для отправки - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Помогите пожалуйста решить проблему. Проблема состоит в том, что мне нужно соединить обычную строку (string) и байтовый массив (byte) и преобразовать это все в byte.
        
  byte[] buffer = new byte[256];
  string login, packet;
 
//Принимаем пакет от пользователя
                        int bytesRead = connection.Socket.Receive(buffer);
                        
                        //Это наша строковая переменная, которую нужно плюсануть к байту
                        login = connection.Thread.Name;
                        //Переводим присланную информацию в строку и соединяем ее с нашим логином
                        packet =  login + Encoding.UTF8.GetString(buffer);
 
                         //Конвертируем это все в байт, чтобы отправить по сокету
                        byte[] data = Encoding.UTF8.GetBytes(packet);
                        
                        //Теперь отправляем данные из массива data сокету
                        int BytesSent = conn.Socket.Send(data, 0, packet.Length, SocketFlags.None);
Все работает, но дело в том, что он присылает строку например: СООБЩЕНИЕ, и дальше идут пробелы, тоесть 250+ пробелов.

Решение задачи: «Соединить обычную строку и байтовый массив и преобразовать это все в byte для отправки»

textual
Листинг программы
class Serialization
    {
        public byte[] Serialize(Object obj)
        {
            using (MemoryStream memoryStream = new MemoryStream())
            {
                BinaryFormatter binaryFormatter = new BinaryFormatter();
                binaryFormatter.Serialize(memoryStream, obj);
                return memoryStream.ToArray();
            }
        }
 
        public string Deserialize(byte[] byteArray)
        {
            using (MemoryStream memoryStream = new MemoryStream(byteArray))
            {
                BinaryFormatter binaryFormatter = new BinaryFormatter();
                memoryStream.Position = 0;
                return Convert.ToString(binaryFormatter.Deserialize(memoryStream));
            }
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы