मैं एक http अनुरोध कर रहा हूं। मैं एक मंच (एंड्रॉइड) पर हूं जहां नेटवर्क ऑपरेशंस अक्सर असफल होते हैं क्योंकि नेटवर्क कनेक्शन तुरंत उपलब्ध नहीं हो सकता है। इसलिए मैं पूरी तरह असफल होने से पहले एक ही कनेक्शन को एन बार कोशिश करना चाहता हूं। कुछ इस तरह की सोच रहा था:एक http कनेक्शन पुनः प्रयास
DefaultHttpClient mHttp = ...;
public HttpResponse runHttpRequest(HttpRequestBase httpRequest)
throws IOException
{
IOException last = null;
for (int attempt = 0; attempt < 3; attempt++) {
try {
HttpResponse response = mHttpClient.execute(httpRequest);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == 200) {
return response;
}
} catch (IOException e) {
httpRequest.abort();
last = e;
}
}
throw last;
}
मैं ज्यादातर कनेक्शन कुछ राज्य जो बाद में पुनः पर अमान्य है में किया जा रहा बारे में चिंतित हूँ। दूसरे शब्दों में, क्या मुझे 'httpRequest' को पूरी तरह से पुनर्निर्मित करने की आवश्यकता है, क्या मुझे पकड़ ब्लॉक में httpRequest.abort() को कॉल करने से बचना चाहिए, और केवल इसे अंतिम विफलता में कॉल करना चाहिए?
धन्यवाद