如何知道用户在网站上是否仍然在线或离线?

发布于 2024-11-27 09:08:56 字数 228 浏览 1 评论 0原文

我正在一个asp.net MVC网站中构建一个聊天系统,如果用户在网站上没有任何操作超过2分钟,我将把他的状态设置为离开。
我的问题是,如何知道用户是否离线,离线意味着他关闭了网站或退出。

我知道会员资格类中有一个 isOnline 属性,但我没有使用会员资格来安全登录该网站。

有没有办法知道用户是否在线,
或者如何实现这个membership.IsOnline以在我的代码中实现相同的效果。

I am building a chat system in an asp.net MVC website, if the user has no actions on the website for more than 2 minutes I will set his status to away.
My question is, how to know if the user is offline, offline means he closed the website or signer out.

I knew that there is an isOnline property in the Membership classes but I am not using Membership for secure login in this website.

Is there a way to know if the user is online or not,
Or how this membership.IsOnline is implemented to make the same in my code.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

○愚か者の日 2024-12-04 09:08:56

要了解用户是否在网站上,您可以每分钟从客户端向服务器发送一个 AJAX 请求,服务器端检查收到的请求之间的时间,看看他是否不再在页面上。

如果你想检测用户是否“AFK”,但可能仍然在他的浏览器上打开网站,你必须添加按键、鼠标按下和鼠标移动的全局事件,并且每分钟只发送 AJAX 请求如果在最后一分钟触发了其中一个事件。

To know if the user is on the site, you could send an AJAX request every minute from the client to the server and server-side check the time between the received requests to see if he is no longer on the page.

If you want to the detect if the user is "AFK" but might still have the website opened on his browser, you'll have to add global events for key presses, mouse presses and mouse move, and only send the AJAX request each minute if there has been one of those event fired in the last minute.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文