Maison > Java > javaDidacticiel > Comment définir les délais d'expiration de connexion et de socket pour les requêtes HTTP sous Android ?

Comment définir les délais d'expiration de connexion et de socket pour les requêtes HTTP sous Android ?

Linda Hamilton
Libérer: 2024-12-18 09:47:15
original
728 Les gens l'ont consulté

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

Comment définir le délai d'attente HttpResponse pour Android en Java

Effectuer des vérifications de l'état de la connexion est crucial, mais rencontrer de longs délais d'exécution peut être frustrant. Voyons comment éviter ce problème et optimiser la gestion de votre connexion.

En utilisant la classe DefaultHttpClient pour exécuter des requêtes HTTP, vous remarquerez peut-être un retard important lors de l'arrêt du serveur. En effet, la méthode httpClient.execute(method) attend indéfiniment une réponse. Pour résoudre ce problème, vous pouvez définir un délai d'expiration pour votre réponse HTTP.

Définition du délai d'expiration de la réponse HTTP

Deux types de délais d'attente peuvent être définis : un délai d'expiration de connexion et un délai d'expiration de la prise. Le délai d'attente de connexion contrôle le délai d'attente pour qu'une connexion soit établie, tandis que le délai d'attente du socket limite la durée d'attente du transfert de données.

En Java, vous pouvez facilement spécifier ces délais d'attente à l'aide de HttpConnectionParams. Voici un exemple :

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);
Copier après la connexion

Alternativement, si vous disposez d'un objet HTTPClient existant, vous pouvez configurer ses paramètres :

httpClient.setParams(httpParameters);
Copier après la connexion

En définissant des délais d'attente appropriés, vous empêchez l'application d'attendre indéfiniment pour une connexion ou une réponse de données. Cela améliore la réactivité et évite les retards inutiles lors de la vérification de la connexion.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal