Считать по 4 байта и записать в массив байтов - C#
Формулировка задачи:
есть какой то TcpClient который отправляет данные на сервак
мне нужно эти данные на сервере считать по 4 байта в один большой
массив для дальнейшей работы с ним
мой код вроде как работает но я ни как не могу записать этот один большой массив
byte[] masCount = new byte[4];
TcpListener lis = new TcpListener(8840);
lis.Start();
var cl = lis.AcceptTcpClient();
Console.WriteLine("connect");
cl.GetStream().Read(masCount, 0, masCount.Length);
int fourByte = BitConverter.ToInt32(masCount, 0);
Console.WriteLine(fourByte);
byte[] readFourByte = new byte[4];
byte[] input = new byte[fourByte];
int i = 0;
while (i < fourByte)
{
cl.GetStream().Read(readFourByte, 0, readFourByte.Length);
//Console.WriteLine(Encoding.UTF8.GetString(readFourByte));
input = Encoding.Default.GetBytes(Encoding.UTF8.GetString(readFourByte));
i++;
}
Console.WriteLine(Encoding.UTF8.GetString(input));
Console.ReadLine();Решение задачи: «Считать по 4 байта и записать в массив байтов»
textual
Листинг программы
List<byte> input = new List<byte>();
int i = 0;
while (i < fourByte)
{
cl.GetStream().Read(readFourByte, 0, readFourByte.Length);
//Console.WriteLine(Encoding.UTF8.GetString(readFourByte));
input.AddRange(Encoding.Default.GetBytes(Encoding.UTF8.GetString(readFourByte)));
i++;
}
Console.WriteLine(Encoding.UTF8.GetString(input.ToArray()));