【问题标题】:Online users in Ruby on RailsRuby on Rails 中的在线用户
【发布时间】:2009-09-14 23:01:36
【问题描述】:

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

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

【问题讨论】:

    标签: ruby-on-rails ajax ajax-polling


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您指出这一点。我本人从未听说过 Authlogic,但现在对它很感兴趣,所以您为我们提供了一些不错的信息 :)
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2011-02-15
        • 2011-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-28
        • 2018-08-14
        • 1970-01-01
        相关资源
        最近更新 更多