设置BOSH以便允许用户长时间无密码登录?

时间:2010-09-14 03:53:09

标签: session login xmpp bosh

我只是想知道在没有BOSH死亡的情况下如何设置它。我有sid,rid,以及一切,但我想知道我可以自动记录人们多长时间让我们说一个cookie,以及如何实现。

2 个答案:

答案 0 :(得分:1)

您的答案取决于您的BOSH会话超时所需的时间。它通常是60秒,直到它扔掉会议。

只是注意 - 您可能想要自动登录用户,因为没有完成正确的XMPP流程。这是一个典型的流程:

- >登录并建立BOSH会话。

- >发送状态
--->服务器发送< presence />包裹到您名单中的所有实体,通知他们您可以使用 --->服务器向您名册服务器中的所有实体发送状态探测,以获取其当前可用性 < - Presence数据包在你的会话中下雨。

- >要求名册项目
< - 服务器向您发送名单中的项目列表。

使用相同会话的方法,您跳过所有这些初始化,我认为这对您的应用程序很重要,因为在存在任何实体直到他们改变其存在之前。发送另一个< presence />节将向您发送您名单中每个人的当前状态。所以......如果这对你来说不重要,那就去做吧。我只是提供一些有用的信息,然后再去实现这个问题,并发现你的解决方案有一些警告。

对我们有用的是使用localStorage,并通过“保存我的密码”按钮自动登录。这使得它更简单,更少工作。此外,当用户重新加载页面并且他们自动重新登录时,与关闭页面并在5分钟后返回登录页面的用户相比,它可能会令人困惑。这简直令人困惑。

祝你好运!

答案 1 :(得分:0)

根据您的需要和方便,您可以执行以下操作之一:

  1. 通过Cookie自动检测用户登录状态。执行http-pre-bind并向用户发出新的rid / sid。这通常对您网页上的用户是透明的。
  2. 不是在每次刷新/重新加载时发出新的“sid”,而在高流量下这可能非常昂贵,您可以汇集底层的xmpp tcp流。下次当用户需要sid / rid再次启动时,可以从连接管理器中获取这些会话。
相关问题