0

TIdHTTP同時に複数の投稿リクエストを送信するにはどうすればよいですか?

lHTTP1.Post('http://'+cURL+'/build.php?',lParamList, ResponseContent);
lHTTP2.Post('http://'+cURL+'/build.php?',lParamList, ResponseContent);
lHTTP3.Post('http://'+cURL+'/build.php?',lParamList, ResponseContent);

これを行うために 3 つのスレッドを使用してみましたが、投稿メッセージごとに 1 秒の遅延があります。

すべての投稿メッセージを同じ秒で送信するにはどうすればよいですか?

4

1 に答える 1

2

はブロッキング コンポーネントであるためTIdHTTP、個別のスレッドを使用するのが正しいアプローチです。各投稿の 1 秒の遅延は、OS がスレッドをスケジュールする方法に関連している可能性があります。または、ネットワークの遅延に関連している可能性があります。または、内部遅延のあるバージョンの Indy を使用している可能性があります (たとえば、HTTP サーバー3xxPOST要求、サーバーTIdHTTPが適切な応答本文を送信することを確認するために最大5秒待機します-一部のバグのあるサーバーは送信しません)。1 秒の遅れが実際にどこで発生しているかを知ることは困難です。プロジェクトをデバッグ/プロファイリングして確認する必要がありますが、私たちはそれを行うことはできません。

于 2015-03-03T00:48:54.370 に答える