如何在Java 中為Android 設定HttpResponse 逾時
執行連線狀態檢查至關重要,但遇到長時間執行逾時可能會長時間執行逾時令人沮喪。讓我們深入研究如何避免此問題並優化連接處理。
使用 DefaultHttpClient 類別執行 HTTP 請求,您可能會注意到伺服器關閉時有明顯的延遲。這是因為方法 httpClient.execute(method) 無限期地等待回應。若要解決此問題,您可以為 HTTP 回應設定逾時。
設定 HTTP 回應逾時
可以設定兩種類型的逾時:連線逾時和逾時套接字逾時。連線逾時控制建立連線的等待時間,而套接字逾時則限制等待資料傳輸的持續時間。
在 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中文網其他相關文章!