2010-12-04 47 views
4

J'ai une page Web que j'ai besoin de vérifier le serveur pour une mise à jour chaque seconde. Les mises à jour peuvent être relativement fréquentes ou peu fréquentes. Il pourrait y avoir beaucoup de clients Web vérifiant simultanément le serveur pour les mises à jour. Cela peut être soit une requête AJAX toutes les secondes, soit un "long sondage" qui émule la poussée du serveur. Quelle méthode est-ce que je voudrais utiliser et pourquoi? Il semble que le temps d'initialisation d'une connexion HTTP à chaque seconde pourrait rendre préférable la méthode d'interrogation longue. D'un autre côté, il y a probablement une limite au nombre de connexions simultanées qui peuvent être maintenues par le serveur. Quelques comparaisons de ces techniques me seraient utiles pour décider de la voie à suivre.Quels sont les avantages et les inconvénients d'un long scrutin par opposition à un scrutin régulier?

Répondre

5

Cela dépend de votre serveur Web. De nouveaux serveurs web sont en cours de développement qui comprennent le style AJAX/Comet et rendent l'interrogation longue très efficace. Voir Mongrel2 pour un exemple.

Vous pouvez également envisager d'interroger régulièrement, mais en le rendant dynamique. Ne connaissant pas votre domaine, je ne peux pas faire de recommandation spécifique. Mais imaginez dans une application de chat. Au lieu d'interroger chaque seconde, il se peut que j'attende un peu après l'envoi d'un message de discussion pour donner du temps à l'autre personne. Ensuite, vérifiez un peu plus fréquemment pendant un moment, et si je n'ai toujours rien, ralentissez (car l'autre personne pourrait être partie). Je pourrais avoir des intervalles de sondage de 1 seconde à 30 secondes selon la situation.

Il aurait tous besoin d'être testé pour se sentir, mais en moyenne, je pourrais être en mesure de faire sentir comme 1 seconde interrogation, quand il est en moyenne plus comme 20.

+0

intéressants comment fonctionne le chat. Mon domaine est constitué d'enchères et je souhaite présenter des enchères en temps réel sur ma page Web. Je suppose que ma page Web pourrait interroger plus fréquemment que la vente aux enchères approche de la fin, car il tend à être plus d'offres vers la fin. –

+0

Exactement. En outre, s'il y a autobidding, vérifiez après qu'une offre est faite jusqu'à ce qu'elle s'établisse. –

+0

Cela peut ne pas fonctionner si bien que je veux afficher plusieurs enchères sur la même page. Il y aura probablement toujours une enchère qui approche de sa fin, de sorte que la fréquence des sondages sera probablement toujours élevée. –