Xin chào, tôi đã hỏi câu hỏi này, nhưng lần này tôi kiểm tra phương pháp đó để cho phép tất cả chứng chỉ không gây ra sự cố.Android - Định kỳ thời gian chờ HttpClient xảy ra
Tôi phát triển một ứng dụng cũng có trên iPhone. Vấn đề là với yêu cầu api. Tôi thiết lập thời gian chờ cho tất cả các yêu cầu. Đôi khi nó xảy ra một loại phá vỡ từ 30-60 giây. Có vẻ như ứng dụng này yêu cầu cặp vợ chồng và hơn là phá vỡ, tất cả thời gian chờ, sau khoảng 45 giây mọi thứ ok.
Tôi không biết đây có phải là sự cố máy chủ hay Android hay không.
Vấn đề này không xảy ra trên iPhone với IOS 5, nhưng cũng apear trên IOS 4.
tôi kiểm tra cho HttpClient và cũng để chơi bóng HttpsURLConnection.
Kết nối là https, cũng đang thử địa chỉ IP trực tiếp.
Mọi yêu cầu đều có cùng một sự cố, mọi yêu cầu đều có trong các tác vụ không đồng bộ.
Tất cả họ trông giống nhau:
DefaultHttpClient client = new HttpSupport().getNewHttpClient();
client.getCredentialsProvider().setCredentials(new AuthScope(AuthScope.ANY_HOST,AuthScope.ANY_PORT),new UsernamePasswordCredentials(user, pass));
HttpGet httget = new HttpGet("xxxxxxxxxxxxxxxxxxxxxxx");
httget.setHeader("Accept", "application/json");
HttpResponse respond = null;
try
{
respond = client.execute(httget);
}
catch (ClientProtocolException e)
{
Log.e(TAG,"getEvents, ClientProtocolException");
}
catch (IOException e)
{
Log.e(TAG,"getEvents, IOException: " + e.getMessage());
}
Mã dor lớp HttpSupport của tôi là trong câu hỏi trước của tôi: Android - API Requests
Đó là có thể là lỗi máy chủ? Cảm ơn bạn đã giúp đỡ.
Gần đây tôi nhận thấy rằng ứng dụng được treo trên client.execute ... hãy thử thực hiện như sau: android httpclient hangs on second request to the server (connection timed out), nhưng sẽ không giúp ích gì. Có lẽ không phải là lỗi api, nhưng Android là như vậy. Ứng dụng này đang chỉ api thực sự thường xuyên, nhưng đối với hầu hết yêu cầu tất cả mọi thứ là ổn.
Vẫn không thể thoát khỏi 30-45 giây bị treo cứng.
Hôm nay tôi đã kiểm tra lại ứng dụng và tôi nhận thấy rằng lỗi chỉ xảy ra trên kết nối wi-fi trên Samsung Tablet với 3.2. Trên Wildfire với 2.3.7 (wi-fi và 3g) mọi thứ dường như không sao. Tôi không nói rằng vấn đề đó không xảy ra trên thiết bị di động, nhưng trong khi tôi đang thử nghiệm, tôi đã không nhận thấy thời gian chờ.
Bạn có chắc chắn về thời gian không? Tôi đã có vấn đề này ngay cả khi tôi sử dụng các thiết bị trên wi-fi và những kẻ từ api gửi cho tôi một phản ứng 'lần, mỗi dưới 0,5 giây. – goodm
Không phải 100% vấn đề của bạn, nhưng chắc chắn chúng quá ngắn đối với tất cả các trường hợp kết nối mà bạn có thể gặp phải. Nhưng, đó là lý do tại sao tôi khuyên bạn nên chạy với Fiddler - nó sẽ giúp pin-điểm vấn đề của bạn. – peterept
Thật không may ngay cả khi tôi thay đổi thời gian chờ, nó sẽ không khắc phục được sự cố của tôi, nó chỉ kéo dài thời gian chờ đợi. – goodm