3

Asioで2 つのストリーム指向の I/O オブジェクトが与えられた場合、一方のデバイスから他方のデバイスに双方向でデータを転送する最も簡単な方法は何ですか? これは、おそらくboost ::iostreams::combinationまたはboost::iostreams:copyで行うことができますか? それとも、両端でデータを待ってから、もう一方のストリームに書き出す手動のアプローチの方がよいでしょうか? 言い換えれば、BoostAsioを活用して最小量のコードを生成するにはどうすればよいでしょうか?

サンプル アプリケーションは、この質問で要求されているように、シリアル ポートと TCP ソケットの間でストリーミングします。

4

1 に答える 1

4

標準の C++ ストリームでは次のことができますが、Asio で同様のことができませんか?

// Read all data from in and write to out.
void forward_data( std::istream& in, std::ostream& out )
{
  out << in.rdbuf();
}
于 2009-08-09T09:14:41.563 に答える