Wie führe ich einen nicht blockierenden Lesen über asio?

Ich bin versucht, die Verwendung von boost::asio Lesen und schreiben von einem Gerät über eine serielle Schnittstelle. Beide boost::asio:: Lesen() und boost::asio::serial_port::read_some () - block, wenn es nichts zu Lesen. Stattdessen würde ich gerne um diesen Zustand zu erkennen und schreiben Sie einen Befehl, um den port zu " kick-starten Sie das Gerät.

Wie kann ich entweder erkennen, dass keine Daten verfügbar sind?

Falls nötig, kann ich alles tun, asynchron, nur würde ich eher vermeiden, die zusätzliche Komplexität, wenn ich kann.

InformationsquelleAutor Joe Ludwig | 2009-01-18

Schreibe einen Kommentar