Maison >Java >javaDidacticiel >Comment puis-je personnaliser les délais d'expiration des réponses HTTP dans mon application Android ?

Comment puis-je personnaliser les délais d'expiration des réponses HTTP dans mon application Android ?

DDD
DDDoriginal
2024-12-19 01:13:10744parcourir

How Can I Customize HTTP Response Timeouts in My Android App?

Personnalisation du délai d'attente de réponse HTTP dans les applications Android

Lorsque vous effectuez des vérifications de l'état de connexion dans des applications Android utilisant Java, vous pouvez rencontrer des temps d'attente excessivement longs en raison aux temps d'arrêt du serveur. Pour résoudre ce problème, on peut implémenter un mécanisme de délai d'attente pour mettre fin à l'attente après une durée spécifiée.

Solution :

Dans l'extrait de code fourni, l'exploitation de deux paramètres de délai d'attente peut fournir un meilleur contrôle sur la connexion process:

HttpGet httpGet = new HttpGet(url);
HttpParams httpParameters = new BasicHttpParams();

// Connection timeout (in milliseconds)
int timeoutConnection = 3000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);

// Socket timeout (in milliseconds)
int timeoutSocket = 5000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);

DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
HttpResponse response = httpClient.execute(httpGet);

Explication:

  • ConnectionTimeout: Définit le temps maximum pour établir une connexion. Par défaut, il est défini sur zéro, ce qui désactive les délais d'attente. L'utilisation d'une valeur non nulle garantit que les connexions échouent rapidement si elles ne peuvent pas être établies.
  • SoTimeout : Contrôle le temps maximum d'attente des données avant l'expiration du délai. Ce paramètre garantit que les requêtes qui mettent beaucoup de temps à renvoyer des données sont terminées.

Pour les clients HTTP existants (tels que DefaultHttpClient ou AndroidHttpClient), vous pouvez définir les paramètres à l'aide de la méthode setParams() :

httpClient.setParams(httpParameters);

En utilisant ces délais d'attente, vous pouvez contrôler efficacement combien de temps votre application attend les réponses du serveur, évitant ainsi une attente indéfinie et améliorant l'expérience utilisateur.

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!

Déclaration:
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