http url 要求が完了すると、メインスレッドがブロックされず、後で通知されるように、非同期 HTTP 要求を送信する C++ ライブラリを探しています。
この非同期 HTTP クライアント機能を実現する C++ ライブラリがあれば教えてください。
http url 要求が完了すると、メインスレッドがブロックされず、後で通知されるように、非同期 HTTP 要求を送信する C++ ライブラリを探しています。
この非同期 HTTP クライアント機能を実現する C++ ライブラリがあれば教えてください。
libcurl の「マルチ」インターフェースは、HTTP リクエストをバックグラウンドで実行できます (2 番目のスレッドを使用しますが、効果は同じです)。まず、 でマルチハンドルを作成しcurl_multi_init
ます。次に、簡単なハンドルを設定し ( で作成しcurl_easy_init
、 で URL とその他のオプションを設定しますcurl_easy_setopt
)、 を呼び出しますcurl_multi_add_handle
。curl_multi_perform
は転送を開始し、すぐに戻ります。呼び出しcurl_multi_info_read
て簡単なハンドルのステータスを取得できます。終わったら電話するのを忘れないでくださいcurl_multi_cleanup
。
ライブラリは非同期である必要はありません。スレッドセーフである限り、別のスレッドで必要なことは何でも実行でき、スレッドプリミティブを使用して後でメインスレッドと同期できるはずです。