Flask 服务器推送:使用 Flask-SSE 实现实时数据更新
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 路由即可向所有连接的客户端推送一条消息。
原文地址: https://www.cveoy.top/t/topic/mC0Z 著作权归作者所有。请勿转载和采集!