Tôi đang phát triển một ứng dụng chạy dài sử dụng rất nhiều HttpClient từ apache.HttpClient bị kẹt mà không có bất kỳ ngoại lệ
Khi chạy thử nghiệm đầu tiên, ứng dụng hoạt động hoàn hảo cho đến khi nó bị kẹt. Nó không dừng lại, nó không ném bất kỳ ngoại lệ nào, nó chỉ ngồi đó chẳng làm gì cả.
Tôi đã chạy lần thứ hai ngay bây giờ và đã dừng thời gian và dừng lại sau khoảng. 24 giờ chạy contant. Ngoài ra tôi nhận thấy rằng kết nối internet của máy tính xách tay của tôi mà tôi đã chạy nó đã bị chấm dứt tại thời điểm chính xác ứng dụng đã bị mắc kẹt. Tôi phải khởi động lại bộ điều hợp WLAN để mạng hoạt động trở lại.
Ứng dụng này không hoạt động trở lại sau khi kết nối lại hoạt động trở lại. Và bây giờ, nó lại bị kẹt lại.
Có bộ điều khiển hết thời gian chờ nào mà tôi không biết trong HttpClient không? Tại sao ứng dụng của tôi không ngoại lệ khi kết nối bị ngắt?
Phần sử dụng ứng dụng khách như sau;
public HttpUtil(ConfigUtil config) {
this.config = config;
client = new DefaultHttpClient();
client.getParams().setParameter(HttpProtocolParams.USER_AGENT, this.config.getProperty("httputil.userAgent"));
}
public String getContentAsString(String url) throws ParseException, ClientProtocolException, IOException {
return EntityUtils.toString(
client.execute(
new HttpGet(url)).getEntity());
}
Ứng dụng nhiều lần gọi httputil.getContentAsString()
trên URL cần.
Có thể thực thể của bạn là một chuỗi rỗng. – kasavbere
Sau đó, phương pháp của tôi vẫn sẽ trả lại chuỗi rỗng, phải không? Hoặc ném một ngoại lệ ít nhất? –
Tôi có cùng một vấn đề. httpEntity.consumeContent() lưu tôi. http://stackoverflow.com/questions/9505358/android-httpclient-hangs-on-second-request-to-the-server-connection-timed-out – JamesC