是否有可能在用户的活动会话中跟踪互联网断开?

Is it possible to track internet disconnection in a user's active session?

本文关键字:跟踪 互联网 断开 会话 活动 有可能 用户 是否      更新时间:2023-09-26

我们有一个Rails网站,用户可以在这里进行在线测试。20-30%的用户报告说,由于网络中断,他们无法完成测试。是否有任何方法可以跟踪当用户在特定页面上时互联网断开的次数

取决于你如何以及为什么要跟踪它。您可以在客户端使用window.navigator.onLine属性来完成此操作,当用户再次在线时,您可以尝试登录到分析,以了解这种情况发生的频率- MDN。

如果你想知道在服务器端,取决于你可用的资源,你可能想要创建一个websocket (MDN)到客户端。websocket将是你的rails应用程序和客户端浏览器之间的持续连接,任何断开的连接都应该在服务器端被注意到,你可以跟踪。有一些现有的库可以使用rails来实现websockets,但请记住,这个选项可能会占用更多的服务器资源,因为它需要与站点的所有在线用户进行持久连接,但是您可以通过此通道传输所有应用程序数据,从而节省其他可能需要的连接。

另一个选择,这将需要更少的资源,但可能更多的工作在你的部分将有一个脚本在客户端轮询服务器以某种方式让它知道它仍然在线,你可以链接的'保持活'请求到用户的信息,并确定一个合理的超时,如果一个没有到达,这可能需要一个计划任务在服务器上。