1

如何检查用户是否在线并显示在线用户列表的最简单方法是什么?

我能想到的唯一方法是一些定期轮询服务器来更新最后一个动作时间戳,当最后一个时间戳超过 xx 之前,用户被认为是离线的。但这似乎不是太有效的解决方案。

4

3 回答 3

6

Authlogic默认可以做到这一点,是一个非常强大的认证系统。我建议将您当前的身份验证系统迁移到它(可能需要几天的工作,具体取决于您的系统的定制程度)。

如果您不能(或根本不想)将您的应用程序移至 Authlogic,您可以查看上面链接中的源代码以及此处的示例项目。

于 2009-09-14T23:15:46.627 回答
1

如果您使用数据库会话存储,您可能会检查会话时间。当 updated_at 超过某个时间时,假设用户不再处于活动状态。然而,这也可能是有问题的。

老实说,在没有某种形式的定期服务器轮询的情况下,要知道活跃的用户数量是一个有点困难的场景。你的想法还不错。

于 2009-09-14T23:07:28.707 回答
0

我们可以使用活动记录会话存储列出在线用户,请参阅此 github 应用程序https://github.com/mohanraj-ramanujam/online-users

于 2013-07-15T05:17:50.377 回答