Gibt es eine elegante Art und Weise zwei Geräte / Ströme in Asio zu überbrücken?
-
12-09-2019 - |
Frage
Bei zwei stromorientierten E / A-Objekten in Asio , was ist der einfachste Weg, um Weiterleitung von Daten von einem Gerät zum anderen in beide Richtungen? Könnte dies mit boost :: iostreams :: Kombination oder boost :: iostreams: copy vielleicht? Oder ist ein manueller Ansatz besser - an jedem Ende auf Daten warten, und dann aus zu dem anderen Strom zu schreiben? Mit anderen Worten, wie kann man Hebelwirkung Erhöhung und Asio eine minimale Menge an Code zu produzieren?
Eine Beispielanwendung würde Streaming zwischen einem seriell Port und TCP-Socket wie in diese Frage .
Lösung
Mit Standard-C ++ Streams Sie Folgendes ausführen können, können Sie nicht etwas tun ähnlich mit Asio?
// Read all data from in and write to out.
void forward_data( std::istream& in, std::ostream& out )
{
out << in.rdbuf();
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow