Wiederholung einer http-Verbindung

Ich bin eine http-Anfrage. Ich bin auf einer Plattform (android), wo die Netzwerk-Operationen oft nicht, weil die Netzwerkverbindung ist möglicherweise nicht sofort verfügbar. Daher möchte ich versuchen, die gleiche Verbindung N-mal, bevor Sie komplett Versagen. Dachte an so etwas wie dieses:

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;
}

Meistens bin ich besorgt über die Verbindung, wenn man in einem Staat, der ungültig ist, nachfolgenden Wiederholungen. In anderen Worten, muss ich die komplett neu erstellen 'httpRequest', sollte ich vermeiden, fordern httpRequest.abort() in den catch-block, und nur nennen Sie es in das endgültige scheitern?

Dank

InformationsquelleAutor user291701 | 2010-10-14
Schreibe einen Kommentar