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框架实现服务器推送

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

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