Für die Kommunikation mit einen Mikroprozessor benutze ich boost::asio::serial_port. Ich habe gemerkt, dass das starten eines Lesevorgangs für genau ein byte mit async_read danach weitere bytes verloren gehen können.
Der Mikroprozessor sendet eine Nachricht wobei das erste byte die länge der Nachricht angibt. Ich starte also einen Empfange mit der option transfer_exacly um das erste byte zu erhalten. Der Mikroprozessor sendet allerdings ohne Pause. Hat jemand schonmal ähnliches beobachtet.
Wenn ich das mit TCP streams mache passiert sowas zum beispiel nicht.