tengo el siguiente código para leer los datos de una corriente (en este caso, de una tubería con nombre) y en una matriz de bytes:¿La mejor manera de convertir Stream (de longitud desconocida) a una matriz de bytes, en .NET?
// 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
Podría eche un vistazo y quiero saber si puede ser hecho de manera más eficiente o ordenada? Parece un poco complicado como es, usando un MemoryStream. ¡Gracias!
Esto se lee hasta el final de la secuencia, pero la intención es leer solo hasta 'IsMessageComplete'. –
Gracias por el enlace al artículo; parece que estoy haciendo casi el mismo algoritmo pero con una condición de terminación diferente en el ciclo. –
Gracias. Me ayuda a resolver mi problema. – nvtthang