Comment souvent un client de chat web vérifier les mises à jour?
-
11-09-2019 - |
Question
Je suis la conception d'une fonction de chat basé sur le Web pour une application qui fonctionne un peu comme le chat facebook ou Google Talk à l'intérieur de gmail. Je me demande si quelqu'un a des conseils sur quelle fréquence il doit vérifier les mises à jour? Toutes les 2 secondes? Toutes les 5 secondes? 10 secondes?
Aussi, dois-je appeler setTimeout dans la fonction de rappel de setTimeout, ou dans le rappel de la demande de paiement ajax pour les mises à jour? Au fond, devrait-il être n secondes entre les appels, ou n secondes entre la fin de la dernière demande et début de la prochaine?
Merci
La solution
Vous pouvez utiliser quelque chose comme Comet (inverse AKA AJAX) pour avoir une connexion persistante au lieu de plusieurs fois pinger le serveur.
sinon, je dirais que 2-3 secondes devrait être une bonne gamme. quoi que ce soit plus faible serait mettre une contrainte excessive sur le serveur, et tout serait plus faire l'application sentir léthargique.
Autres conseils
Je le rendre dynamique. Déterminer une plage que vous ne voulez pas sortir de, comme 2 à 10 secondes, et commencer à un point milieu, disons 5 secondes. Si vos sondages sont toujours retour de nouveaux messages, réduire la période d'attente vers votre minimum. Si les sondages commencent à retourner vide, augmenter vers le maximum. Cela vous donnera un juste équilibre entre la réactivité en cas de besoin et en donnant votre serveur une pause quand pas grand-chose qui se passe.
Si, pour une raison quelconque, vous devez utiliser polling j'aller avec un court intervalle de départ, ce qui est environ le double de la longueur du temps que vous attendez une notification à se produire en moyenne et augmenter l'intervalle de temps en temps il y avait rien de nouveau pour éviter marteler votre serveur inutilement. Bien qu'en général, une bonne réponse dépend vraiment de ce que votre système.
Pour le chat, événement basé est le moyen idéal pour aller IMHO.
Cependant souvent mises à jour.
Ce que cela signifie est que vous pouvez profiler votre propre système, et de déterminer le meilleur moment pour vérifier les mises à jour contre la charge.