在Flask框架中,可以使用WebSocket或Server-Sent Events(SSE)来实现服务器推送。以下是使用SSE的示例代码:

  1. 安装flask-sse模块:
pip install flask-sse
  1. 在Flask应用中导入SSE对象:
from flask_sse import sse
  1. 在Flask应用中注册SSE路由:
app.register_blueprint(sse, url_prefix='/stream')
  1. 在SSE路由中定义推送函数:
from flask_sse import sse

@app.route('/push')
def push():
    sse.publish({'message': 'Hello, World!'}, type='message')
    return 'Message sent!'
  1. 在客户端使用EventSource对象连接SSE路由:
var source = new EventSource('/stream');
source.onmessage = function(event) {
    console.log(event.data);
};

以上代码将在客户端连接到'/stream'路由,并在接收到名为'message'的事件时打印消息。在服务器端调用push()函数,将触发事件并向客户端推送消息。

需要注意的是,SSE并不是实时性最好的方案,因为它使用HTTP长连接来模拟实时通信,可能会受到网络环境等因素的影响。如果需要更高的实时性,可以考虑使用WebSocket或其他实时通信方案。

Flask服务器推送实现:SSE教程与代码示例

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

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