私はhttpの相互作用を実行するためにHTTP Apacheコンポーネントを使用しています。私はhttpクライアントを調整する必要があります。この目的のために、私は2つのパラメータを持っています:接続タイムアウトと接続要求タイムアウト。ライブラリのドキュメントとソースコード(コメントは見つかりませんでした)では、この用語の定義が見つかりませんでした。私は彼らが何を正確に意味するのかを知る必要があります。彼らはHTTPプロトコルのドキュメントで定義されているかもしれませんが、私はそれを見つけることができません。ですから、私の質問は、この2つの用語が意味するものと、それらが互いにどのように区別されるかです。接続と接続要求のタイムアウト
答えて
HttpClient
はhttp://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/HttpClient.html
Connection timeout
に従って接続およびソケットタイムアウト(setConnectionTimeout()
とsetTimeout()
)を設定する方法を持っているサーバとの接続が確立されるまで、タイムアウトです。
Socket timeout
は、データを受信するタイムアウト(ソケットタイムアウト)です。
例:
たとえば、ブラウザでウェブページにアクセスするとします。サーバーがX秒間に応答しない場合、接続タイムアウトが発生します。しかし、接続を確立すると、サーバーはブラウザの結果を処理し始めます。この処理をY秒間に終了しない場合は、ソケットのタイムアウトが発生します。
返信いただきありがとうございますが、まだ問題があります。ここにリクエスト設定ビルダーhttp://hc.apache.org/httpcomponents-client-4.3.x/httpclient/apidocs/org/apache/http/client/config/RequestConfig.Builder.htmlがあり、3つのメソッドsetConnectionRequestTimeout、setConnectTimeout 、setSocketTimeout(そしてコメントはありません!)だから、私はまだそれぞれのメソッドが何をしているのか、どんなメソッドを使うべきか分かりません。 – mvb13
私は最終的にgetConnectionRequestTimeoutが接続マネージャから接続を要求するときに使用されるimeoutをミリ秒で返すことを発見しました。私は、接続マネージャーはapache-httpcomponentsライブラリークラスだと思うので、私はそれを使用しません。 setConnectionTimeout()とsetTimeout()を使用します。 – mvb13
最後に、HttpClient 4.X.Xでは、特定のクライアントであるconnectTimeoutMillis
とrequestTimeoutMillis
をどのように構築するのですか?
HttpClientBuilder clientBuilder = HttpClientBuilder.create();
RequestConfig.Builder requestBuilder = RequestConfig.custom();
requestBuilder = requestBuilder.setConnectTimeout(connectTimeoutMillis);
requestBuilder = requestBuilder.setConnectionRequestTimeout(requestTimeoutMillis);
clientBuilder.setDefaultRequestConfig(requestBuilder.build());
CloseableHttpClient httpClient = clientBuilder.build();
...
Btw、このコードのjavadocsは嫌です。 configビルダーの使い方を手で把握してみてください。うんざりする
- 1. Entity Framework「接続要求のタイムアウト」sporadic
- 2. Javaダウンロードファイル:「接続タイムアウト:接続」
- 3. エラー:接続タイムアウト:接続 - Android
- 4. バックグラウンドワーカープロセスと接続タイムアウト
- 5. 接続時のJenkinsスレーブ接続タイムアウト
- 6. firebase接続タイムアウトのJavaサーバー側接続
- 7. Tomcatの接続プール、接続タイムアウト
- 8. SqlClient接続タイムアウト
- 9. AsyncTask接続タイムアウト
- 10. 接続タイムアウトAndroid
- 11. ノンブロッキング接続タイムアウト
- 12. getsockopt:接続タイムアウト
- 13. 接続タイムアウト
- 14. 接続タイムアウト
- 15. 接続タイムアウト
- 16. mysql.data.dll接続タイムアウト
- 17. RxAndroidBle接続タイムアウト
- 18. BluetoothSocket - 接続タイムアウト
- 19. Healthvault Java API:接続タイムアウト:接続
- 20. Mongodb接続エラー(接続0〜127.0.0.1:27017タイムアウト)
- 21. nginxクローズアップストリーム接続要求後
- 22. PHPbrewの接続タイムアウト
- 23. Androidの接続タイムアウト
- 24. 軸の接続タイムアウト
- 25. ソケット接続のタイムアウト
- 26. ブラウザの接続制限を考慮したajax要求のタイムアウト
- 27. ODP.NET接続要求のタイムアウトが発生しました
- 28. grapheneDB Neo4j接続でH12要求のタイムアウトが発生する
- 29. Node.jsのHTTP/NET - 接続と要求
- 30. アマゾンインスタンスEc2と接続タイムアウト
apacheやjavaキーワードなしで検索してみてください。http://en.wikipedia.org/wiki/Timeout_(computing) –