python - django-channels 1.x 检测用户何时离开/刷新页面
问题描述
我怎样才能检测到这个?目前,只有do_something
当用户单击后退按钮并且我手动断开与正在考虑的 websocket 的连接时,我才能这样做。有时 Websocket DISCONNECT 会触发,但大部分时间不会触发。
如果用户刷新或离开页面,断开代码将无法运行。如何检测用户何时离开/刷新?
解决方案
没有完美的方法可以做到这一点。主要问题是由于 TCP,服务器在超时之前并不总是知道连接已被丢弃。
但是Daphne
,您可以配置 2 个选项来帮助解决此问题--ping-interval
,--ping-timeout
如果您想rapid
断开连接,那么我建议您将这些值设置为好且低。
推荐阅读
- ios - UICollectionViewCell 中的 AVPlayer 播放声音但不显示视频
- winapi - 读取键盘状态 Win32 应用程序
- html - Bootstrap 4.0 卡片内的按钮对齐方式
- c++ - 失焦时 SDL2 窗口不起作用
- java - 使用 Spring Boot 的 Jersey 多部分配置
- r - 如何从 R 中各个子文件夹中包含的文件中堆叠各个栅格图层?
- c# - Bot Framework 中的高级 FormFlow - 通过代码设置模板
- javascript - 获取第一个 td 文本以删除本地存储数组中的项目
- cookies - Asp.net Core 2.0 Identity.TwoFactorRememberMe 到期
- javascript - 获取可滚动父节点顶部和嵌套子节点之一之间的距离