python - 如何在Flask中处理socket.io断开的连接?

标签 python sockets flask socket.io

我有一个非常简单的Python(Flask socket.io)应用程序,它可以用作服务器,而另一个应用程序是用AngularJS编写的客户端。

为了处理已连接和已断开连接的客户端,我使用了pectelivy:

@socketio.on('connect')
def on_connect():
    print("Client connected")

@socketio.on('disconnect')
def on_disconnect():
    print("Client disconnected")

当客户端连接到我的应用程序时,我会获得有关该应用程序的信息,以防万一客户端断开连接(例如,由于网络问题),我不会获得任何信息。

处理客户端意外断开连接的情况的正确方法是什么?

最佳答案

有两种连接类型:使用长池连接或WebSocket。

使用WebSocket时,客户端会立即知道该服务器已断开连接。
在长轮询的情况下,需要设置ping_interval和pint_timeout参数(我也找到有关heartbeat_interval和heartbeat_timeout的信息,但我不知道它们与ping_ *有何关系)。

从服务器的角度来看:它不知道客户端已断开连接,并且获取该信息的唯一方法是设置ping_interval和ping_timeout。

关于python - 如何在Flask中处理socket.io断开的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45013247/

相关文章:

python - 格式化输出字符串,右对齐

java - 使用线程与Python解释器进行交互对话

java - 停止 ServerSocket Accept() 循环线程

flask - 我可以在 Flask 模板中嵌套变量吗?

Python3/Linux - 在默认编辑器中打开文本文件并等待完成

python - SugarCRM 过滤器 PYTHON

node.js - Socket.io NodeJS 聊天 : Why do messages emit multiple times?

android - 如何在android上实现一个HTTP服务器

python - Flask Mega 教程在 pythonanywhere 上的初始设置

python - Flask App with Gunicorn on Nginx 服务器 POST 错误