J'ai donc une déclaration try-catch dans un programme Java qui récupère des choses à partir d'Internet. Comment gérer les délais d'attente? Est-ce que j'emballerais juste le try try dans une déclaration while et après un certain nombre d'itérations échouées dites à l'utilisateur d'essayer plus tard?Enveloppant try-catch qui récupère à partir de l'Internet, dans un moment
Répondre
Comment gérer les délais d'attente? Est-ce que j'emballerais juste le try try dans une déclaration while et après un certain nombre d'itérations échouées dites à l'utilisateur d'essayer plus tard?
Je ne pense pas que ce serait une bonne idée. OMI, la meilleure chose à faire est de choisir un délai qui correspond à l'heure que vous pensez que l'utilisateur devrait attendre, et ne pas utiliser une boucle. Comme le souligne @BalusC, n'importe quelle API client Http décente vous donnera un moyen de définir le délai d'expiration avant de faire la demande. Utilise le.
Le problème avec l'utilisation d'une boucle est que vous ajoutez potentiellement de la charge à un serveur déjà surchargé. Supposons que la véritable raison du délai d'attente est que le serveur essaie de traiter un trop grand nombre de requêtes en parallèle, et chaque requête prend beaucoup de temps. Si vous (le client) expulsez une demande et que vous la réessayez immédiatement, vous ajoutez probablement une charge supplémentaire ... ce qui aggrave la situation.
Les chances sont que certains utilisateurs martèlent le bouton réessayer de toute façon. Vous n'avez pas besoin de faire le martelage pour eux.
- 1. Enveloppant un numéro?
- 2. à partir d'un moment précis?
- 3. WPF - Récupère DataGridColumn à partir de DataGridColumnHeader
- 4. Récupère la variable de compilation au moment de l'exécution
- 5. Récupère PageName.aspx à partir de l'objet Page
- 6. Enveloppant mon application php/mysql dans modx
- 7. Récupère la ligne à partir de l'index dans Silverlight DataGrid
- 8. Enveloppant texte long sur un canevas Android
- 9. Récupère une valeur spécifique à partir de entity.OriginalValues dans EFv4
- 10. Enveloppant l'appelant/callbacks dans une seule fonction
- 11. Effet enveloppant plastique
- 12. BlackBerry non-enveloppant LabelField
- 13. Récupère nETBIOSName à partir d'un objet UserPrincipal
- 14. Récupère HModule à partir d'une DLL
- 15. routine Delphi qui récupère l'heure et la date à partir d'un serveur de temps
- 16. Récupère textField.text à partir de la personnalisation UITableViewCell
- 17. lignes de lecture 2 à un moment
- 18. récupère la ligne sélectionnée à partir de DataGrid
- 19. Texte enveloppant Java autour de l'image
- 20. Lancer l'activité à un certain moment
- 21. Enveloppant un projet Web dans un fichier de solution, et CVS
- 22. Passer un critère de propagation à la fonction de routage symfony qui récupère l'objet
- 23. Récupère les classes MXML et ActionScript à partir de swf
- 24. Récupère des éléments non distincts à partir d'un IEnumerable
- 25. FieldRenderer - Récupère un nom de champ spécifique à partir de différentes sections de modèle
- 26. Démarrer l'application à un moment précis
- 27. Insérer un TypeConverter personnalisé sur une propriété au moment de l'exécution, à partir d'un UITypeEditor personnalisé
- 28. Récupère la valeur d'affichage à partir d'un DropDown
- 29. Récupère les données de téléchargement de données à partir des données de publication dans ASP.NET
- 30. Récupère la chaîne sous un survol de la souris à partir de Silverlight TextBox
En effet, chaque client HTTP décent a un paramètre de délai, même 'URLConnection' a un [' setConnectionTimeout() '] (http://download.oracle.com/javase/6/docs/api/java/net /URLConnection.html#setConnectTimeout%28int%29). Fais-en usage. – BalusC
@BalusC - merci ... ajouté votre point. –