C# Async Serial Port Lire

J'ai une classe qui se lit à partir du port série à l'aide de la DataReceived gestionnaire d'événements en C#. Quand je reçois des données, je sais que l'en-tête de 5 octets, donc je ne veux pas faire n'importe quoi avec les données jusqu'à ce que j'ai au moins ça. Mon code est ci-dessous:

while (serialPort.BytesToRead<5)
{
//Do nothing while we have less bytes than the header size
}

//Once at least 5 bytes are received, process header

Si je comprends bien, ce code est le blocage et doit être améliorée. Je suis à la recherche de suggestions sur la façon de le faire. Serait un autre gestionnaire d'événement à l'intérieur de la DataReceived gestionnaire d'événement approprié?

InformationsquelleAutor mikeminer | 2014-06-04