私はC++アプリケーションを作成しており、HTTP GETリクエストを介して複数のデータファイルを同時に要求したいと考えています(クロスプラットフォームにする必要があります)。C++ Concurrent GET requests
- アプリケーションの実行
- のURL {「http://host/file1.txt」、「http://host/file2.txt」、「http://host/file3.txt」}のリストを作成します
- 要求を同時にすべてのURLと変数に内容をロード(ディスク書き込みをしたくありません)。各ファイルには約10kBのデータがあります。
私はどのライブラリを使用することをおすすめしますか? libcurl?カレル?ブーストasio?すべてのファイルを同時に要求するには、私自身のマルチスレッドをロールバックする必要がありますか?簡単な方法はありますか?
編集:1000件のGETリクエストを同時にリクエストする必要があります。おそらく、私はバッチでこれを行うでしょう(一度に100、完了したとしてより多くの接続を作成する)。
なぜファイルを並行して要求する必要がありますか? URLのリストが非常に大きい場合を除いて、10kBのサイズであれば目立たない遅延は発生しません。同時実行性は、実装が疑わしい利益のためにはるかに複雑になります。 – lothar
各getを実行するために100msの待ち時間があり、10個のファイルがある場合、並列取得は1000msではなく100msで終了します。 –
@lothar ええ、URLリストは本当にかなり(10-1000s時)、私は説明の容易さのために説明の3つのURLにそれを保ったかなり長いです。 GETリクエストには高いレイテンシがありますが、ストリーミングを開始するとすぐに速くなります(レイテンシが問題になります)。したがって、同時実行性が必要になります。 –