NetworkStream и ReadAsync

В потоке NetworkStream приходят и лежат 148 байт. Мне нужно считать первые 12 байт и затем остальные. Выполняю операцию считывания 12 байт:

NetworkStream ClientStream = User.NetStream;
byte[] M = new byte[12];
await ClientStream.ReadAsync(M, 0, 12);

Считывание проходит корректно. Затем пытаюсь прочитать остальное таким же способом:

byte[] M2 = new byte[136];
await ClientStream.ReadAsync(M, 0, 136); //остановка

Вот тут уже чтение прекращается. Решил посмотреть в свойства обьекта:

DataAvailable почему-то становиться false после первого неполного прочтения (12 байт)

В свойствах Socket почему-то доступных байт для чтения также 0:

Почему данные будто все "считываются", после прочтения 12 байт. Должно же быть доступно еще 136. Как прочитать оставшиеся 136 байт, асинхронным способом?


Ответы (0 шт):