gpt4 book ai didi

javascript - 使用 NowJS/Node.js 实时跟踪在线/离线状态?

转载 作者:太空宇宙 更新时间:2023-11-04 02:44:07 24 4
gpt4 key购买 nike

我有一个网站,用户可以登录并在所有页面上连接到 NowJS。我希望能够近乎实时地跟踪他们的状态(在线/离线),但我不确定执行此操作的最佳方法。我最初的想法是只使用连接和断开连接事件,但这不起作用,因为每次用户进入新页面时这些事件都会被触发(因为在新页面加载时套接字连接被关闭)。

我已经得到了一些工作,我在断开事件时在该用户的数据库条目中记录了时间戳,然后当连接事件触发时,我检查他们是否在过去 30 秒内访问过该网站。如果他们没有,我可以假设他们正在开始一个新的 session 。在断开连接事件中,我使用 setTimeout 来查看它们是否在 30 秒后仍然在线,如果不是,则将其状态设置为离线。

虽然这大部分有效,但它看起来有点老套,并且存在一些可能会出现问题的边缘情况问题(更不用说您将在每个页面 View 上有一个新的超时服务器端)。有没有更好的方法来做到这一点,我只是忽略了?

最佳答案

执行此操作的正确方法不仅仅取决于“是否存在开放连接”。您是否试图向其他用户显示是否有人在附近/可以聊天/其他什么?然后,您还可以考虑页面本身的不活动超时(以捕获人们离开计算机而不关闭页面的时间)。如果您正在做其他事情,例如计量使用情况,您可能需要不同的机制。

关于javascript - 使用 NowJS/Node.js 实时跟踪在线/离线状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8451095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com