J'ai implémenté une fonctionnalité de messagerie instantanée/discussion Web en utilisant la liaison http et ejabberd. Pour les fainéants voici la version courte de ma question:Comment refléteriez-vous des sessions de liaison XMPP à plusieurs onglets ou fenêtres à la facebook, okCupid etc
Comment voulez-vous mettre en œuvre un client de discussion XMPP basé sur le Web qui pourrait être affiché dans plusieurs fenêtres de navigateur simultanément, chacun affichant une vue identique des discussions ouvertes?
divagations plus détaillées pour ceux qui se soucient:
Une solution possible serait de laisser seulement chaque onglet gérer sa propre connexion. XMPP a un support assez décent pour plusieurs clients alors laissez-le faire le routage. J'ai au moins 2 problèmes avec cette solution. 1 est l'augmentation évidente de la consommation de bande passante que cela entraînerait. 2 est le manque actuel de support pour plusieurs clients avec le même JID pour se connecter aux salles MUC dans ejabberd. Cela sera apparemment implémenté pour 3.1 mais c'est un problème majeur pour moi tel qu'il est. Au départ, je me demandais s'il y avait de la magie flash en jeu, mais il semble que le swf sur la page ne soit utilisé que pour jouer les effets sonores de notification. Vous pouvez confirmer cela en utilisant firebug ou similaire pour supprimer la balise embed. La fonctionnalité de chat fonctionne toujours. Cela me laisse essentiellement avec des cookies comme seul moyen de partager entre les onglets. Dans ce scénario, un onglet maître déverserait tous les messages dans les cookies qui pourraient être interrogés à partir d'autres onglets. Cela me semble assez ridicule car la fréquence de sondage devrait être exceptionnellement élevée pour éviter toute latence. Que se passerait-il si la fenêtre «maître» était fermée?
Je l'ai vu faire par plus d'un site et normalement quand je regarde des problèmes comme ceux-ci, je peux au moins comprendre au moins vaguement comment je vais y aller mais je ne me dérange pas d'admettre que celui-ci a je suis perplexe.
J'ai fait des choses comme ça avant, mais je ne suis pas sûr de comprendre votre question. Vous voulez dire avoir différents onglets * de navigateur * avec exactement les mêmes chats? –
ouais exactement nos utilisateurs peuvent avoir plusieurs onglets ou fenêtres ouvertes en même temps et je veux qu'ils puissent surveiller leurs chats ouverts à partir de n'importe quel onglet/fenêtre. –