我正在实现一项功能,用户可以进行一个订阅 &** 每个订阅最多可以创建 10 个帐户,但只允许 3 个并发用户**。 我正在使用服务器端会话超时的标准方法。 我面临的问题是,如果第三个用户直接关闭选项卡/浏览器或单击后退按钮,它不会调用注销,会话也不会终止。因此,即使第三个用户没有使用该应用程序,用户 4 也无法连接该应用程序。 建议我任何有效的解决方案,在该解决方案中,该情况会导致调用注销 api。
beforeunload 事件处理 即使用户重新加载网站,也会触发 beforeunload 事件,它不应该调用 logout api。我无法抽象用户单击重新加载按钮或关闭选项卡之间的区别!
可见度变化 当可见性更改为隐藏时,我正在调用注销 api,但即使在最小化选项卡和选项卡切换时它也会调用注销。我不想要的。
3 插座方法 由于我的应用程序是松散耦合的,这会给服务器带来太大的压力,我不想监视与客户端的实时通信。我的目的只是一般用户不要点击注销API,他/她直接关闭选项卡/浏览器..我只想处理这个。
我在前端使用 jQuery,在后端使用 C#。
低迭代轮询怎么样,这样客户端轮询服务器以使其知道其仍然连接,然后用户将在大约一分钟内自动断开连接,并且在登录屏幕上,当 3 个用户同时连接时,您可以显示上次查看的信息等已经连接了吗?
显然,Websockets 听起来像您提到的理想解决方案,也许更深入地了解为什么它对您来说不是一个可行的解决方案,并重新评估它是否值得?