Flask 服务器推送:使用 Flask-SSE 实现实时数据更新

Flask 框架本身不支持服务器推送(Server-Sent Events),但可以使用第三方扩展来实现。以下是使用 flask-sse 扩展实现服务器推送的示例代码:

安装 flask-sse 扩展

pip install flask-sse

在 Flask 应用中注册 SSE 扩展

from flask import Flask
from flask_sse import sse

app = Flask(__name__)
app.config['REDIS_URL'] = 'redis://localhost'
app.register_blueprint(sse, url_prefix='/stream')

创建 SSE 路由

from flask_sse import sse

@app.route('/push')
def push():
    # 向所有连接的客户端推送消息
    sse.publish({'message': 'Hello, world!'}, type='greeting')
    return 'OK'

在客户端使用 JavaScript 连接并接收服务器推送

let source = new EventSource('/stream');
source.addEventListener('greeting', function(event) {
    console.log(event.data);
});

在浏览器中访问 /push 路由即可向所有连接的客户端推送一条消息。

Flask 服务器推送:使用 Flask-SSE 实现实时数据更新

原文地址: https://www.cveoy.top/t/topic/mC0Z 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录