SocketIO + Flask 检测断开连接

The*_*heo 7 python sockets flask python-3.x socket.io

我在这里有一个不同的问题,但意识到它可以简化为:\n如何检测客户端何时从页面断开连接(关闭其页面或单击链接)(换句话说,套接字连接关闭)?我想制作一个带有更新用户列表的聊天应用程序,并且 I\xe2\x80\x99m 在 Python 上使用 Flask。当用户连接时,浏览器发送一个socket.emit()带有事件和用户名的消息,以告诉服务器有新用户存在,之后服务器将向所有客户端发送消息socket.emit(),以便所有客户端都会将此新用户追加到其用户列表中。但是,我希望客户端在断开连接时也向服务器发送一条包含其用户名的消息。我不知道如何正确触发触发器。注意:我\xe2\x80\x99m 只是使用一个带有脚本标签的简单html 文件作为页面,我\xe2\x80\x99m 不知道如何添加一个JS 文件来与页面一起使用,尽管我可以弄清楚如果有必要\xe2\x80\x99。

\n

The*_*heo 7

弄清楚了。socket.on('disconnect')结果确实是正确的,但默认情况下,它大约每分钟只对每个用户执行一次 ping 操作,这意味着需要很长时间才能看到该事件。