Heim > Java > javaLernprogramm > Wie stelle ich Verbindungs- und Socket-Timeouts für HTTP-Anfragen in Android ein?

Wie stelle ich Verbindungs- und Socket-Timeouts für HTTP-Anfragen in Android ein?

Linda Hamilton
Freigeben: 2024-12-18 09:47:15
Original
728 Leute haben es durchsucht

How to Set Connection and Socket Timeouts for HTTP Requests in Android?

So legen Sie HttpResponse Timeout für Android in Java fest

Die Durchführung von Verbindungsstatusprüfungen ist wichtig, aber lange Ausführungstimeouts können frustrierend sein. Sehen wir uns an, wie Sie dieses Problem vermeiden und Ihre Verbindungsverarbeitung optimieren können.

Wenn Sie die DefaultHttpClient-Klasse zum Ausführen von HTTP-Anfragen verwenden, stellen Sie möglicherweise eine erhebliche Verzögerung fest, wenn der Server heruntergefahren wird. Dies liegt daran, dass die Methode httpClient.execute(method) unbegrenzt auf eine Antwort wartet. Um dieses Problem zu beheben, können Sie eine Zeitüberschreitung für Ihre HTTP-Antwort festlegen.

Festlegen der Zeitüberschreitung für die HTTP-Antwort

Zwei Arten von Zeitüberschreitungen können festgelegt werden: eine Zeitüberschreitung für die Verbindung und eine Socket-Timeout. Das Verbindungszeitlimit steuert die Wartezeit für den Verbindungsaufbau, während das Socket-Zeitlimit die Wartezeit auf die Datenübertragung begrenzt.

In Java können Sie diese Zeitlimits einfach mit HttpConnectionParams festlegen. Hier ist ein Beispiel:

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);
Nach dem Login kopieren

Alternativ können Sie, wenn Sie über ein vorhandenes HTTPClient-Objekt verfügen, dessen Parameter konfigurieren:

httpClient.setParams(httpParameters);
Nach dem Login kopieren

Durch das Festlegen geeigneter Timeouts verhindern Sie, dass die Anwendung auf unbestimmte Zeit wartet für eine Verbindung oder Datenantwort. Dies verbessert die Reaktionsfähigkeit und verhindert unnötige Verzögerungen bei der Verbindungsprüfung.

Das obige ist der detaillierte Inhalt vonWie stelle ich Verbindungs- und Socket-Timeouts für HTTP-Anfragen in Android ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage