首页 > 解决方案 > django-channels 1.x 检测用户何时离开/刷新页面

问题描述

我怎样才能检测到这个?目前,只有do_something当用户单击后退按钮并且我手动断开与正在考虑的 websocket 的连接时,我才能这样做。有时 Websocket DISCONNECT 会触发,但大部分时间不会触发。

如果用户刷新或离开页面,断开代码将无法运行。如何检测用户何时离开/刷新?

标签: pythondjangodjango-channels

解决方案


没有完美的方法可以做到这一点。主要问题是由于 TCP,服务器在超时之前并不总是知道连接已被丢弃。

但是Daphne,您可以配置 2 个选项来帮助解决此问题--ping-interval--ping-timeout如果您想rapid断开连接,那么我建议您将这些值设置为好且低。


推荐阅读