Sans utiliser de plugin/extension de navigateur comme l'applet flash ou java, le navigateur est essentiellement un outil de communication à sens unique. La requête doit être lancée par le navigateur pour récupérer les données. Vous ne pouvez pas "pousser" les données vers le navigateur.
Nombreuses applications Web utilisant la méthode d'interrogation Ajax pour simuler un 'push' du serveur. L'astuce consiste à équilibrer la fréquence/taille des données avec la bande passante et les ressources du serveur.
Je viens de faire une simple observation pour gmail. Il effectue une interrogation HttpPost toutes les 5 secondes. S'il n'y a pas de changement d'état, la taille des données de réponse n'est que de quelques octets (n'incluant pas les en-têtes http). Bien sûr, google a d'énormes ressources serveur et de la bande passante, c'est pourquoi je mentionne: trouver un bon équilibre.
Cela signifie «Amélioration de l'expérience utilisateur par rapport aux ressources du serveur». Vous pourriez avoir besoin de sortir avec une stratégie créative de sondage, au lieu d'un sondage simple toutes les x secondes.
E.g. Si aucune activité de la partie A, interroger toutes les 3 secondes. Pendant que la partie A est en train de taper, interrogez toutes les 5 secondes. Ceci est juste une illustration, vous pouvez jouer avec les chiffres, ou en sortir avec un plus efficace.
Enfin, l'échange de données. Le défi consiste à trouver un moyen de transmettre des tailles de données minimales pour transmettre les mêmes informations.
mes 2 cents :)
Merci, je vais vérifier Ma raison me dit que si c'est une conversation en tête-à-tête, et je pollling seulement pour les nouveaux messages, alors je ne peux pas utiliser le cache (si c'était un chat de groupe, il Merci :) – Yaron
Vous pouvez toujours utiliser un cache: dans l'idéal, vous conservez un objet index par utilisateur contenant une clé de cache pour chaque message de cet utilisateur, ainsi que le Votre code vérifie cet objet index pour les nouveaux messages ciblant l'ID (ou le groupe) de l'utilisateur interrogateur. – Chris