записываю число в байтовый массив и далее массив отправляю в сокет клиенту.
uint a = 1;
byte[] b = BitConverter.GetBytes(a);
handler.Send(b);
Но как записывать несколько переменных в массив байтов, например строку, uint, int и прочие?
Предложу ещё один способ:
uint a = 1;
int b = 2;
using (var stream = new MemoryStream())
using (var writer = new BinaryWriter(stream))
{
writer.Write(a);
writer.Write(b);
var bytes = stream.ToArray();
handler.Send(bytes);
}
У BinaryWriter
метод Write
имеет множество перегрузок.
PS: Читать из байтового массива можно по аналогии с помощью BinaryReader
.
uint a = 1;
byte[] a1 = BitConverter.GetBytes(a);
double b = 1.234;
byte[] a2 = BitConverter.GetBytes(b);
byte[] arr = new byte[a1.Length + a2.Length];
Array.Copy(a1, 0, arr, 0, a1.Length);
Array.Copy(a2, 0, arr, a1.Length, a2.Length);
handler.Send(arr);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Постараюсь максимально ёмко уместить свой вопросПока писал этот вопрос понял, что можно было написать короче
Клиент записывает в сокет последовательно значения Uint, Uint, Short
Какой самый надёжный метод определения системных процессов в системе?
Есть zip файл, в котором хранится FlowDocument (Cardxaml) и папка с изображениями (Media)