バックグラウンド:
ライブラリを使用して最初のCプログラムに取り組んでおり、SMTPサーバーに送信された各コマンドから応答を収集する必要があります。
SMTPサーバーにコマンドを送信し、を使用して応答ヘッダーを出力するところまで到達しましたcurl_easy_setopt(curl_handle, CURLOPT_HEADERFUNCTION, parse_head)
が、マルチスレッドオプションを使用しています。どのコマンドが原因であるかという応答を受け取ったときは、まったくわかりません。必ずしも同じ順番で届くとは限らないと思います。あれは正しいですか?
ライブラリは明示的なリクエストなしで一部の呼び出し(初期接続の設定など)を処理するため、より困難になります。明示的なリクエストよりも多くのヘッダーを処理する必要があります。これは予測可能で再現性がありますが、間違いなく複雑さが増します。
質問:
マルチスレッドを使用して、どのコマンドがどの応答ヘッダーになったかを正確に判断する「良い」方法はありますか?
また、適度に関連していますが、ライブラリは数値のリターンコードを返すことをサポートしていますか、それとも手動で解析する必要がありますか?ライブラリを見ると、そうではないようです。確認したいだけです。