Wie stelle ich HTTP-Antwort-Timeouts in Android mit Java ein?
Dec 17, 2024 am 11:39 AMEinstellen des HTTP-Antwort-Timeouts in Android mit Java
Die Möglichkeit, den Verbindungsstatus eines Remote-Servers zu überprüfen, ist in vielen Android-Anwendungen von entscheidender Bedeutung. Längere Verbindungszeitüberschreitungen können jedoch zu erheblichen Verzögerungen führen. In diesem Artikel wird erläutert, wie Sie das Timeout einer HTTP-Antwort festlegen, um unnötiges Warten zu vermeiden.
Berücksichtigen Sie den folgenden Codeausschnitt zum Überprüfen des Verbindungsstatus:
private void checkConnectionStatus() { HttpClient httpClient = new DefaultHttpClient(); try { String url = "http://xxx.xxx.xxx.xxx:8000/GaitLink/" + strSessionString + "/ConnectionStatus"; Log.d("phobos", "performing get " + url); HttpGet method = new HttpGet(new URI(url)); HttpResponse response = httpClient.execute(method); if (response != null) { String result = getResponse(response.getEntity()); ... } } }
Wenn der Server zum Testen nicht verfügbar ist, Die Ausführung bleibt in der Zeile hängen:
HttpResponse response = httpClient.execute(method);
Um dieses Problem zu beheben, können Zeitüberschreitungen festgelegt werden, um die Wartezeit zu begrenzen. Im folgenden Beispiel werden zwei Zeitüberschreitungen festgelegt:
- Verbindungszeitüberschreitung: Gibt die maximal zulässige Zeit für den Verbindungsaufbau mit dem Remote-Server an. Standardmäßig ist dieser Wert 0 (kein Timeout).
- Socket-Timeout: Definiert die maximal zulässige Zeit für den Empfang von Daten vom Remote-Server. Der Standardwert ist ebenfalls 0.
HttpGet httpGet = new HttpGet(url); HttpParams httpParameters = new BasicHttpParams(); // Set the connection timeout in milliseconds until a connection is established. int timeoutConnection = 3000; HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection); // Set the default socket timeout (SO_TIMEOUT) // in milliseconds which is the timeout for waiting for data. int timeoutSocket = 5000; HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket); DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters); HttpResponse response = httpClient.execute(httpGet);
Wenn dieser Code ausgeführt wird, wird nach 3 Sekunden eine Verbindungsausnahme ausgelöst, wenn die Verbindung nicht hergestellt werden kann, und nach 5 Sekunden wird eine Socket-Ausnahme ausgelöst Sekunden, wenn keine Daten vom Server empfangen werden.
Alternativ, wenn Sie über eine vorhandene HTTPClient-Instanz verfügen (z. B. DefaultHttpClient oder AndroidHttpClient) können Sie die Funktion setParams() verwenden, um die Timeout-Parameter festzulegen:
httpClient.setParams(httpParameters);
Das obige ist der detaillierte Inhalt vonWie stelle ich HTTP-Antwort-Timeouts in Android mit Java ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Top 4 JavaScript -Frameworks in 2025: React, Angular, Vue, Svelte

Wie funktioniert der Klassenladungsmechanismus von Java, einschließlich verschiedener Klassenloader und deren Delegationsmodelle?

Wie benutze ich Maven oder Gradle für das fortschrittliche Java -Projektmanagement, die Erstellung von Automatisierung und Abhängigkeitslösung?

Node.js 20: wichtige Leistungssteigerung und neue Funktionen

ICEBERG: Die Zukunft von Data Lake Tabellen

Wie kann ich funktionale Programmierungstechniken in Java implementieren?

Wie kann ich JPA (Java Persistence-API) für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden verwenden?

Wie implementiere ich mehrstufige Caching in Java-Anwendungen mit Bibliotheken wie Koffein oder Guava-Cache?
