записываю число в байтовый массив и далее массив отправляю в сокет клиенту.
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);
Продвижение своими сайтами как стратегия роста и независимости