Соединить обычную строку и байтовый массив и преобразовать это все в byte для отправки - C#
Формулировка задачи:
Здравствуйте. Помогите пожалуйста решить проблему.
Проблема состоит в том, что мне нужно соединить обычную строку (string) и байтовый массив (byte) и преобразовать это все в byte.
Все работает, но дело в том, что он присылает строку например: СООБЩЕНИЕ, и дальше идут пробелы, тоесть 250+ пробелов.
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);Решение задачи: «Соединить обычную строку и байтовый массив и преобразовать это все в 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));
}
}
}