


Comment définir les délais d'attente de réponse HTTP dans Android à l'aide de Java ?
Définition du délai d'expiration de la réponse HTTP dans Android à l'aide de Java
La possibilité de vérifier l'état de connexion d'un serveur distant est essentielle dans de nombreuses applications Android. Cependant, des délais d'attente de connexion prolongés peuvent entraîner des retards importants. Cet article explique comment définir le délai d'expiration d'une réponse HTTP pour éviter une attente inutile.
Considérez l'extrait de code suivant pour vérifier l'état de la connexion :
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()); ... } } }
Lorsque le serveur est en panne pour des tests, l'exécution reste bloquée à la ligne :
HttpResponse response = httpClient.execute(method);
Pour résoudre ce problème, des délais d'attente peuvent être définis pour limiter la période d'attente. Dans l'exemple ci-dessous, deux délais d'attente sont établis :
- Connection Timeout : Spécifie le temps maximum autorisé pour établir une connexion avec le serveur distant. Par défaut, cette valeur est 0 (pas de délai d'attente).
- Socket Timeout : Définit le temps maximum autorisé pour recevoir les données du serveur distant. La valeur par défaut est également 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);
Lorsque ce code est exécuté, une exception de connexion sera levée après 3 secondes si la connexion ne peut pas être établie, et une exception de socket sera levée après 5 secondes. secondes si aucune donnée n'est reçue du serveur.
Alternativement, si vous disposez d'une instance HTTPClient existante (par exemple, DefaultHttpClient ou AndroidHttpClient), vous pouvez utiliser la fonction setParams() pour définir ses paramètres de délai d'attente :
httpClient.setParams(httpParameters);
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!

Jvm'sperformance estcompatititivewithotherruntimes, offrant une élaboration de personnes, la sécurité et la productivité.1) jvmusjitcompilationfordynamicoptimizations.2) c offrant une performance de Nation

JavaachievesPlatformIndependencethroughthejavirtualmachine (jvm), permettant de codétorunonanyplatformwithajvm.1) codeiscompiledIntoBytecode, notmachine-specificcode.2) bytecodeisinterpretedythejvm

ThejvMisanabstractComputingMachinecrucialForrunningJavapRogramsDuetOtsPlatform-IndependentArchitecture.

Jvmhasacloselalationhipswiththeosasittranslatejavabytecodeintomachine-spécificifiCinstructions, gasmemory et handlesgarbagecollection.

L'implémentation Java "Écrire une fois, exécuter partout" est compilée en bytecode et s'exécute sur une machine virtuelle Java (JVM). 1) Écrivez du code Java et compilez-le en bytecode. 2) ByteCode s'exécute sur n'importe quelle plate-forme avec JVM installé. 3) Utilisez l'interface native Java (JNI) pour gérer les fonctions spécifiques à la plate-forme. Malgré des défis tels que la cohérence JVM et l'utilisation de bibliothèques spécifiques à la plate-forme, WORA améliore considérablement l'efficacité du développement et la flexibilité du déploiement.

JavaachievesPlatformIndependencethRoughthejavirtualmachine (JVM), permettant à la codétorunondiffférente de système

JavaispoWerfuetOitsPlatformIndependence, objet-orientednature, richstandardLibrary, performanceCapabilities et StrongSecurityFeatures.1) Platform IndependenenceSAplicationStorunonanyDevicesupportingJava.2)

Les fonctions Java supérieures incluent: 1) la programmation orientée objet, la prise en charge du polymorphisme, l'amélioration de la flexibilité du code et la maintenabilité; 2) Mécanisme de gestion des exceptions, améliorant la robustesse du code à travers des blocs de capture-effort finalement; 3) Collection des ordures, simplification de la gestion de la mémoire; 4) génériques, améliorant la sécurité de type; 5) Expressions Ambda et programmation fonctionnelle pour rendre le code plus concis et expressif; 6) Bibliothèques standard riches, fournissant des structures de données optimisées et des algorithmes.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.
