2009-09-14 105 views
1

如何檢查用戶是否在線並顯示在線用戶列表,最簡單的方法是什麼?Ruby on Rails中的在線用戶

我能想到的唯一方法是更新最後一個操作時間戳的某個定期輪詢服務器,並且當上次時間戳大於xx前時,用戶被認爲是脫機的。但它似乎不是太有效的解決方案。

回答

6

Authlogic默認情況下可以做到這一點,它是一個功能非常強大的認證系統。我建議將您當前的身份驗證系統遷移到該系統(可能需要幾天的工作時間,具體取決於您的系統是如何定製的)。

如果您不能(或者根本不想)將您的應用程序轉移到Authlogic,您可以查看上面鏈接的源代碼以及示例項目here

+0

感謝您指出了他這一點。我自己從來沒有聽說過Authlogic,但現在對它感興趣,所以你給我們提供了一些體面的信息:) – Eric 2009-09-15 04:44:18

1

如果您使用數據庫會話存儲,您可能會檢查會話時間。當updated_at超過一定時間時,假定用戶不再處於活動狀態。然而,這也可能是有問題的。

說實話,在沒有某種形式的週期性服務器輪詢的情況下告訴活動用戶數是一種有點困難的情況。你的想法並不差。