2010-09-14 3 views

Répondre

1

Votre réponse dépend du délai d'expiration de votre session BOSH. C'est généralement 60 secondes jusqu'à ce qu'il jette la session.

Juste une note-vous avez probablement pas souhaitez vous connecter automatiquement un utilisateur, car le flux XMPP approprié n'est pas fait. Voici un flux typique:

-> Connectez-vous et établissez une session BOSH.

-> Envoyer Présence
---> Serveur envoie un paquet de présence </> à toutes les entités dans votre liste, pour les informer que vous êtes disponible.
---> Le serveur envoie une sonde de présence à toutes les entités du serveur de votre liste, obtenant leur disponibilité actuelle.
< - Les paquets de présence tombent sur votre session.

-> Demande d'articles figurant sur la liste
< - serveur vous envoie une liste d'articles dans votre liste. Avec l'approche d'utiliser la même session, vous ignorez toute cette initialisation, ce que je suppose est important pour votre application, car pas obtenir la présence de toutes les entités jusqu'à ce qu'elles changent leur présence. L'envoi d'une autre strophe < presence/> et non vous enverra la présence actuelle de tous les membres de votre liste. Alors ... si ce n'est pas important pour vous, allez-y et faites-le. Je ne fais que fournir des informations utiles avant de mettre en œuvre la chose et de découvrir qu'il existe des réserves à votre solution. Ce qui a fonctionné pour nous était d'utiliser localStorage, et de les connecter automatiquement via un bouton «Enregistrer mon mot de passe». Cela le rend plus simple et moins de travail. En outre, cela peut être déroutant lorsqu'un utilisateur recharge la page et qu'il se connecte automatiquement, alors qu'un utilisateur ferme la page et revient dans 5 minutes pour être accueilli par la page de connexion. C'est tout simplement déroutant.

Bonne chance!

0

Vous pouvez faire une des opérations suivantes selon vos besoins et de commodité:

  1. Détection automatique sur l'état de connexion de l'utilisateur via les cookies. Faites un http-pre-bind et lancez un nouveau rid/sid à l'utilisateur. Cela sera généralement transparent pour l'utilisateur sur votre page. Au lieu d'émettre un nouveau "sid" à chaque rafraîchissement/rechargement de page, ce qui peut être assez coûteux en cas de fort trafic, vous pouvez regrouper les flux xmpp tcp sous-jacents. La prochaine fois qu'un utilisateur aura besoin de sid/rid pour recommencer, ceux-ci peuvent être récupérés à partir du gestionnaire de connexions regroupant les sessions.
Questions connexes