我需要跟踪用户与ActionCable频道的连接数量,以便我知道他打开了两个或三个浏览器标签,或者根本没有。这对于了解特定用户是离线还是在线是必要的。有没有办法计算从特定用户到特定频道的连接数?
我实际上已经实现了一个自定义解决方案,我基本上在Redis中有一个计数器,我会在每次连接/断开时递增/递减。然而,由于缺少ActionCable的单元测试机制,它现在仍然相当错误并且很难调试它。所以,我想知道是否有一个"本地人"计算用户连接的可靠方法。
答案 0 :(得分:0)
我会尝试:
ActionCable.server.remote_connections.where(current_user: User.find(1)).count
假设您正在使用
您identified_by :current_user
中的 Connection
。
希望这有帮助。