2010-09-14 17 views

回答

1

您的答案取決於您的BOSH會話超時所需的時間。通常是60秒,直到它拋棄會話。

只是一個筆記,你可能做不是想自動登錄一個用戶,因爲正確的XMPP流程沒有完成。這裏有一個典型的流程:

- >登錄並建立一個BOSH會話。

- >發送存在
--->服務器發送一個<存在/ >包的所有實體,您的名單,通知他們,你是可用的。
--->服務器向您的名單服務器中的所有實體發送一個狀態探測器,以獲取其當前可用性。
< - 存在數據包正在降雨會議。

- >請求名單項目
< - 服務器向您發送名單中的項目列表。

使用相同的會話的方法,你跳過這一切的初始化,我以爲是你的應用程序非常重要的,因爲直到他們改變他們的存在,你會不會得到任何實體的存在。發送另一個< presence/> stanza將而不是向您發送您名單中每個人的當前存在。所以......如果這對你並不重要,那就去做吧。我只是提供一些有用的信息,然後再去實施這些事情,並發現解決方案存在一些警告。

我們的工作是使用localStorage,並通過「Save my password」按鈕自動登錄。這使得它更簡單,更少的工作。另外,當用戶重新加載頁面並自動重新登錄時,用戶關閉頁面並在5分鐘後返回以便登錄頁面迎接,這可能會引起混淆。這只是簡單的混淆。

祝你好運!

0

你可以做以下根據自己的需要和方便的一個:

  1. 自動檢測有關通過cookie用戶登錄狀態。做一個http-pre-bind並向用戶發佈新的rid/sid。這通常對您的網頁上的用戶透明。
  2. 而不是在每個頁面上刷新/重新加載新的「sid」,這在高流量下可能非常昂貴,您可以共享底層的xmpp tcp流。下次當用戶需要sid/rid再次啓動時,可以從連接管理器池中獲取這些會話。
相關問題