httpストリーム(boost :: beast)からの読み取りと書き込みの要件は何ですか?

量子物理学者

ブースト::ビーストを使用してetcdの読み取りと書き込みを行いたいと思います。まず、ブーストビーストでこれらの例を実行できるようにしたいと思います。それらはカールで簡単に実行できます。Etcdは、キー/値ストアと見なすことができます。設定/取得する関数(例ページのput / range)は、boost :: beastクライアントの例で簡単に実行できますそこに問題はありません。

でも「見て」、わかりません。ドキュメントよると、ウォッチは継続的なストリームであり、結果を取得した直後に終了するセッションである他のストリームとは異なります。カールの例は、時計がまだアクティブな間に値と応答をその場で変更することを示しています。同じストリームを使用して、時計の停止を含め、その時計に関連するすべてのことを行う必要があります。

私の質問は広く:これをboost :: beastに実装するにどうすればよいですか?

さんからと言ってみましょうクライアントの例私は提出するioc.runスレッドを通じて付き

std::thread t(&std::iocontext::run, &ioc);
t.detach();

これで、メインスレッドでクライアントを完全に制御できるようになりました。新しいhttpリクエストを作成async_writeし、ソケットオブジェクト介して送信することになっていますか?しかし、そうすると、httpヘッダーをniceでラップすることでboost :: beastの機能が失われますhttp::request<http::string_body>ヘッダーを手動で作成する必要がありますか?それともjson、メッセージが終わったことを示すために、ある種のラインターミネーターを使って送信することになっていますか?通信プロトコルはどのように見えますか?

boost :: beastの例は素晴らしいでしょう。

ヴィニー・ファルコ

etcdは「長時間実行リクエスト」を使用しているようです。このためには、http::read_header[1]またはhttp::async_read_header[2]を使用して応答ヘッダーを取得してから、ループ内でhttp::read_some[3]またはhttp::async_read_some[4]を使用して応答本文の一部を読み取ります。これがきれいに機能するhttp::buffer_bodyためには、この種のもののために設計され[5]を使用したいと思いますドキュメントのHTTPリレーの例[6]は、の使用法を示しており、buffer_body長時間実行されるリクエストを処理するように適合させることができます。

[1] https://www.boost.org/doc/libs/1_69_0/libs/beast/doc/html/beast/ref/boost__beast__http__read_header/overload2.html

[2] https://www.boost.org/doc/libs/1_69_0/libs/beast/doc/html/beast/ref/boost__beast__http__async_read_header.html

[3] https://www.boost.org/doc/libs/1_69_0/libs/beast/doc/html/beast/ref/boost__beast__http__read_some/overload2.html

{4] https://www.boost.org/doc/libs/1_69_0/libs/beast/doc/html/beast/ref/boost__beast__http__async_read_some.html

[5] https://www.boost.org/doc/libs/1_69_0/libs/beast/doc/html/beast/ref/boost__beast__http__buffer_body.html

[6] https://www.boost.org/doc/libs/1_69_0/libs/beast/doc/html/beast/more_examples/http_relay.html

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

何が速いですか?SQLデータベースの読み取り/書き込みまたはファイルの読み取り/書き込み?

分類Dev

バイナリからの書き込みと読み取り

分類Dev

読み取り-書き込み.code / .textセグメントの使用は何ですか?

分類Dev

Firestore docRef.Collections(ctx)の読み取り/書き込みコストはどれくらいですか?

分類Dev

Firestoreからドキュメントの書き込み/読み取りを行う最も費用効果の高い方法は何ですか?

分類Dev

揮発性の読み取りと書き込みはWindows + VisualCでアトミックですか?

分類Dev

レコードの読み取り/書き込み/読み取り/書き込み属性を型で表現する方法はありますか?

分類Dev

なぜデータベース複製はデータベースからの読み取りと書き込みを最適化するのですか?

分類Dev

DelphiVCLアプリケーションからAmazonS3への読み取りと書き込みに失敗するのはなぜですか?

分類Dev

Javaのリスナーとの読み取り/書き込みロックはありますか?

分類Dev

Javaのリスナーとの読み取り/書き込みロックはありますか?

分類Dev

読み取り専用から読み取り/書き込みへの再マウントは潜在的に危険ですか?

分類Dev

Pythonからarduinoへのシリアル読み取りと書き込み

分類Dev

ddが同じディスクからの読み取りと同じディスクへの書き込みを行うのはなぜですか?

分類Dev

アクセス操作と読み取り/書き込み。違いは何ですか?

分類Dev

2つの異なるスクリプトからのFIFOからの書き込みと読み取り

分類Dev

Python:Powershellでのstdinからのバイナリファイルの読み取りと書き込み

分類Dev

シェルスクリプトからcプログラムの読み取りと書き込み

分類Dev

何千万ものfloat32s埋め込みの高速書き込み/読み取りに最適なデータストアは何でしょうか?

分類Dev

ハードドライブからの読み取りと書き込みができません

分類Dev

ハードドライブからの読み取りと書き込みができません

分類Dev

異なるスレッドからのロックと解放を伴う、Javaの読み取りおよび書き込みロック要件

分類Dev

grpcストリームから同時に読み取りと書き込みを行うにはどうすればよいですか?

分類Dev

Pythonでのテキストファイルへのリストの書き込みと読み取り:より効率的な方法はありますか?

分類Dev

スマートカードからの証明書の書き込みと読み取り

分類Dev

ソリューションの書き込み/読み取りのその方法は安全ですか?

分類Dev

ネストされたPython辞書からのデータの読み取りと書き込み

分類Dev

異なるスレッドからのパンダデータフレームでの読み取り/書き込みは安全ですか?

分類Dev

csvからの読み取りまたはcsvへの書き込み中にデータフレームのデータ型「リスト」を保持する方法

Related 関連記事

  1. 1

    何が速いですか?SQLデータベースの読み取り/書き込みまたはファイルの読み取り/書き込み?

  2. 2

    バイナリからの書き込みと読み取り

  3. 3

    読み取り-書き込み.code / .textセグメントの使用は何ですか?

  4. 4

    Firestore docRef.Collections(ctx)の読み取り/書き込みコストはどれくらいですか?

  5. 5

    Firestoreからドキュメントの書き込み/読み取りを行う最も費用効果の高い方法は何ですか?

  6. 6

    揮発性の読み取りと書き込みはWindows + VisualCでアトミックですか?

  7. 7

    レコードの読み取り/書き込み/読み取り/書き込み属性を型で表現する方法はありますか?

  8. 8

    なぜデータベース複製はデータベースからの読み取りと書き込みを最適化するのですか?

  9. 9

    DelphiVCLアプリケーションからAmazonS3への読み取りと書き込みに失敗するのはなぜですか?

  10. 10

    Javaのリスナーとの読み取り/書き込みロックはありますか?

  11. 11

    Javaのリスナーとの読み取り/書き込みロックはありますか?

  12. 12

    読み取り専用から読み取り/書き込みへの再マウントは潜在的に危険ですか?

  13. 13

    Pythonからarduinoへのシリアル読み取りと書き込み

  14. 14

    ddが同じディスクからの読み取りと同じディスクへの書き込みを行うのはなぜですか?

  15. 15

    アクセス操作と読み取り/書き込み。違いは何ですか?

  16. 16

    2つの異なるスクリプトからのFIFOからの書き込みと読み取り

  17. 17

    Python:Powershellでのstdinからのバイナリファイルの読み取りと書き込み

  18. 18

    シェルスクリプトからcプログラムの読み取りと書き込み

  19. 19

    何千万ものfloat32s埋め込みの高速書き込み/読み取りに最適なデータストアは何でしょうか?

  20. 20

    ハードドライブからの読み取りと書き込みができません

  21. 21

    ハードドライブからの読み取りと書き込みができません

  22. 22

    異なるスレッドからのロックと解放を伴う、Javaの読み取りおよび書き込みロック要件

  23. 23

    grpcストリームから同時に読み取りと書き込みを行うにはどうすればよいですか?

  24. 24

    Pythonでのテキストファイルへのリストの書き込みと読み取り:より効率的な方法はありますか?

  25. 25

    スマートカードからの証明書の書き込みと読み取り

  26. 26

    ソリューションの書き込み/読み取りのその方法は安全ですか?

  27. 27

    ネストされたPython辞書からのデータの読み取りと書き込み

  28. 28

    異なるスレッドからのパンダデータフレームでの読み取り/書き込みは安全ですか?

  29. 29

    csvからの読み取りまたはcsvへの書き込み中にデータフレームのデータ型「リスト」を保持する方法

ホットタグ

アーカイブ