2016-04-14 43 views
1

私のソケット通信では、各接続で私は最初にデータを読み取るし、読んだ後、私は応答を書くしたいサーバーがあります。しかし私はそれを非同期的にやりたいので、多くの着信接続を処理できます。 async_readasync_writeの問題は、明らかに非同期であり、読み込みを開始するとすぐに書き込み操作も開始されます。ブーストasio非同期の読み取りと書き込み

だから、基本的に私の質問は次のとおりです。(私は、すべてのデータが送信された通信プロトコルによって決定されたとき)

ソケットからの読み込みを開始する方法、そして読んで中断し、その後、書き出し、最後に閉じソケット?

+1

Boost.Asioのドキュメントに付属の[examples](http://www.boost.org/doc/libs/1_60_0/doc/html/boost_asio/examples.html)を参照してください。あなたの質問はそこでカバーされています。申し訳ありませんが、Boost.Asioを使用して以来、正確なファイルを指摘できません。 – piwi

+0

広すぎると投票しました。確かにこのタイプの質問には多くの可能な答えがあり、図書館の例はそれらすべてを示しています。 – sehe

答えて

0

質問の2番目の部分については、このlinkの例をご覧ください。

ReadHandler handlerの関数はです。これらはコールバックです。完了条件は、必要なものをすべて読んだと判断した場合は0を返します。読み込みが完了すると、handlerコールバックが呼び出されます。 handlerからasync_writeに電話することができます。

関連する問題