Flask实现Server-Sent Events (SSE)协议的简单范例

作者:宇宙中心我曹县2024.01.17 20:23浏览量:16

简介:Server-Sent Events (SSE) 是一种允许服务器向客户端推送实时更新的技术。在 Flask 中,你可以使用 `eventlet` 库来实现 SSE。下面是一个简单的 Flask SSE 接口范例。

要实现 Flask SSE,首先确保你已经安装了 Flask 和 eventlet。你可以使用 pip 来安装它们:

  1. pip install flask eventlet

接下来,创建一个名为 sse_app.py 的 Python 文件,并添加以下代码:
```python
from flask import Flask, rendertemplate, Response
import eventlet
app = Flask(name)
@app.route(‘/‘)
def index():
return rendertemplate(‘index.html’) # 渲染一个简单的 HTML 页面
@app.route(‘/events’)
def events():
def eventstream():
while True:
yield ‘data: {}
‘.format(eventlet.random.hex(8)) # 生成随机数据作为事件内容
eventlet.sleep(1) # 每秒发送一次事件
return Response(eventstream(), mimetype=’text/event-stream’) # 返回 SSE 响应
if __name
== ‘__main
‘:
app.run(threaded=True, port=5000) # 启动 Flask 应用,监听 5000 端口