У меня есть следующий код для чтения данных из потока (в данном случае из именованного канала) и в байтовый массив:
// NPSS is an instance of NamedPipeServerStream
int BytesRead;
byte[] StreamBuffer = new byte[BUFFER_SIZE]; // size defined elsewhere (less than total possible message size, though)
MemoryStream MessageStream = new MemoryStream();
do
{
BytesRead = NPSS.Read(StreamBuffer, 0, StreamBuffer.Length);
MessageStream.Write(StreamBuffer, 0, BytesRead);
} while (!NPSS.IsMessageComplete);
byte[] Message = MessageStream.ToArray(); // final data
Не могли бы вы взглянуть и сообщить мне, еслиэто можно сделать более эффективно или аккуратно?Кажется, немного грязно, используя MemoryStream.Спасибо!