Ich habe den folgenden Code Daten aus einem Stream (in diesem Fall von einem Named Pipe) und in einen Byte-Array zu lesen:Die beste Methode zum Konvertieren von Stream (unbekannter Länge) in Byte-Array in .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
Könnten Sie einen Blick darauf werfen bitte und lassen Sie mich wissen, ob es sein kann, effizienter oder sauber gemacht? Scheint ein bisschen chaotisch wie es ist, mit einem MemoryStream. Vielen Dank!
Dies wird an das Ende des Streams gelesen, aber die Absicht ist nur bis "IsMessageComplete" zu lesen. –
Danke für den Link zum Artikel; es sieht so aus, als ob ich ziemlich genau den gleichen Algorithmus mache, aber mit einer anderen Endbedingung in der Schleife. –
Danke. Es hilft mir, mein Problem zu lösen. – nvtthang