kurze Frage: Ich habe eine Realtime-Simulation, die als Backround-Prozess läuft und mit Pipes an das aufrufende Programm angeschlossen ist. Ich möchte mit stdin Befehle an diesen Prozess senden, um bestimmte Informationen über stdout zu erhalten. Da es sich um einen Echtzeitprozess handelt, muss es sich um eine nicht blockierende Eingabe handeln. Ist boost :: asio :: async_read in Verbindung mit iostream :: cin eine gute Idee für diese Aufgabe? Wie würde ich diese Funktion benutzen, wenn es machbar ist? Noch mehr Vorschläge?Verwendung von boost :: asio :: async_read mit stdin?
5
A
Antwort
8
Blick auf boost::asio::posix::stream_descriptor
http://www.boost.org/doc/libs/release/doc/html/boost_asio/example/cpp03/chat/posix_chat_client.cpp
Wird dieser Block, wenn stdin eine reguläre Datei ist anstelle eines TTY oder ein Rohr? – rightfold