boost asioのasync_read_untilの使用に関する一般的な質問があります。ドキュメントには、ハンドラが呼び出されたときにバッファ内にさらにデータが存在する可能性があることが記載されています。これを回避し、シーケンス条件が一致した直後にバッファがソケットからバイトを消費しないようにする方法はありますか?boost asio async_read_until一致条件での読み込みを停止する
1
A
答えて
1
Q.直接この
ない回避する方法は、ネットワークのトラフィックが(それはパケット指向です)動作方法のため、あります。
もちろん、あなたはかもしれません。送信側が積極的にそれを保証していればプロトコル境界で物事を取得しますが、これはストリームプロトコルにとっては珍しいことです。
Q.とシーケンス条件がマッチした直後ソケットからバイトを消費するからバッファを停止しますか?
いいえ、ただし、バッファの消費を停止することはできます。したがって、たとえば
boost::asio::streambuf sb;
auto bytes = boost::asio::read_until(socket, sb, "\r\n\r\n");
std::istream is(&sb);
std::string line;
while (getline(is, line) && !line.empty()) {
std::cout << "Received: '" << line << "'\n";
}
// sb still contains un-consumed data, if any
だけで、その後の読み込みと、それはあなたのための「ストリーム位置を」管理されますのために同じstreambuf
を使用します。これは有効なパターンです。
関連する問題
- 1. Boost :: Asio読み込み/書き込み操作
- 2. 条件付きCSSのコンテンツの読み込みを停止します
- 3. 埋め込み済みのYouTube動画の一時停止後の読み込みを停止する方法
- 4. スタイルシートの条件付き読み込み
- 5. 文字の読み込みと読み込みの不一致
- 6. boost :: asio読み取り応答
- 7. boost asio:0バイト書き込み
- 8. すぐにUIWebViewの読み込みを停止する方法
- 9. ヘッドレスブラウザの読み込みを停止するページ
- 10. viewpager + webview、webviewの読み込みを停止する方法
- 11. 15分後にデータの読み込みを停止するC#
- 12. Angular2 Child Routesページの読み込みを停止する
- 13. ページの読み込みを停止するwatir-webdriver
- 14. UIWebViewの読み込みを停止する方法
- 15. Androidスタジオが読み込み画面で停止する
- 16. 配列の値を読み込み、条件付きで返す
- 17. 条件が偽である場合の角度読み込み
- 18. 素材CSS - ページ読み込み後プリローダを停止する
- 19. Outlook 2003アドインの読み込みが停止する
- 20. 条件付きで.plistファイルを作成/読み込みます。
- 21. プログラムを一時停止せずにコンソールから読み込む
- 22. ファイルの読み込みをいつ停止しますか?
- 23. ページの読み込み時にアニメーションを開始する、読み込まれたページで停止する
- 24. ブースト:: ASIO :: async_write()ブースト:: ASIO ::書き込み()
- 25. 条件付きで多型関連の読み込み
- 26. Pythonシリアルが読み込みを停止します
- 27. 出力がプロセスから読み込みを停止します
- 28. C++ Boost ASIO:タイムアウトで読み書きする方法は?
- 29. Wordpressのサイトは読み込みを停止しません
- 30. stdinからの読み込みを停止