2010-08-07 54 views

回答

2

知道某人是否在線(並查看您的網站)的唯一方法是與她建立開放連接。但是,在加載頁面之後,關閉到服務器的HTTP連接,客戶端不會再與服務器通話,直到她想要查看另一個頁面。

鑑於此,你可以做到以下幾點:

  1. 採取猜測,如果客戶端仍然存在,假設她是X分鐘「在線」後,她最後請求一個頁面。
  2. 在客戶端發送一個「心跳」在使用Javascript定期您的服務器,然後應用1.
  3. 居然有客戶存到自己服務器的持久連接使用類似Comet,這將給您最準確的結果。

什麼是最合適的取決於您需要的狀態的準確程度。

0

如果您的用戶登錄,那麼你可以列到你的用戶表中添加像

rails g migration add_online_to_users online:boolean 

,並在用戶每次啓動一個新的會話時間,用戶可以填充「真」

user.online = true 
該列

,並在用戶註銷後,你可以把你的會話

user.online = false破壞方法

相關問題