Parece que realmente estás preguntando qué hacer con un flujo de bytes de datos.
En un sistema pequeño, la mejor manera de manejar un flujo de bytes es generalmente un byte a la vez. Dado que el significado de algunos bytes depende de los valores de los bytes anteriores, el flujo de bytes generalmente se decodifica en una máquina de estado.
Me gusta usar una tarea separada para decodificar flujos de bytes asíncronos. Puede considerarlo como una máquina de estado en la que la PC es la variable de estado.
Exactamente cómo decodificar el flujo de bytes depende del protocolo. Es posible que necesite saber dónde se encuentran los límites de los paquetes por algún medio fuera de banda o simplemente permanecer sincronizados. Hay demasiados protocolos posibles para entrar en diferentes aquí. Sin una descripción de su protocolo particular, hay poco más que decir aquí.