Я получаю данные из NetworkStream
из TcpClient
и хочу записать данные в MemoryStream
фиксированной длины, потому что я знаю размер данных.
Я использую Stream.CopyToAsync
для записи данных в MemoryStream
:
var result = new MemoryStream(size);
await ns.CopyToAsync(result);
result.Position = 0;
return result;
Глядя на исходный код из Stream.CopyToAsync
, метод завершается, когда в исходном потоке нет данных . В моем случае, когда сетевое соединение медленное или прервано, мой метод вернет неполное MemoryStream
.
Могу ли я игнорировать эту возможность или мне следует читать поток самостоятельно, поскольку я знаю, сколько данных будет отправлено?