Java で Android の HttpResponse タイムアウトを設定する方法
接続ステータス チェックの実行は重要ですが、実行タイムアウトが長くなるとイライラすることがあります。この問題を回避し、接続処理を最適化する方法を詳しく見てみましょう。
DefaultHttpClient クラスを使用して HTTP リクエストを実行すると、サーバーがシャットダウンするときに大幅な遅延が発生することがあります。これは、メソッド httpClient.execute(method) が応答を無限に待機するためです。これを解決するには、HTTP 応答のタイムアウトを設定できます。
HTTP 応答タイムアウトの設定
接続タイムアウトと接続タイムアウトの 2 種類のタイムアウトを設定できます。ソケットタイムアウト。接続タイムアウトは接続が確立されるまでの待機時間を制御し、ソケット タイムアウトはデータ転送の待機時間を制限します。
Java では、HttpConnectionParams を使用してこれらのタイムアウトを簡単に指定できます。以下に例を示します:
HttpGet httpGet = new HttpGet(url); HttpParams httpParameters = new BasicHttpParams(); // Set connection timeout to 3 seconds (3000 milliseconds) HttpConnectionParams.setConnectionTimeout(httpParameters, 3000); // Set socket timeout to 5 seconds (5000 milliseconds) HttpConnectionParams.setSoTimeout(httpParameters, 5000); DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters); HttpResponse response = httpClient.execute(httpGet);
既存の HTTPClient オブジェクトがある場合は、そのパラメータを構成できます:
httpClient.setParams(httpParameters);
適切なタイムアウトを設定することで、アプリケーションが無期限に待機することを防ぎます。接続またはデータ応答の場合。これにより、応答性が向上し、接続チェック中の不要な遅延が防止されます。
以上がAndroid で HTTP リクエストの接続とソケットのタイムアウトを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。