python
import time
from flask import Flask, Response
app = Flask(__name__)
@app.route('/stream')
def stream():
def generate():
yield "data: Hello, world!\n\n"
time.sleep(1)
yield "data: How are you?\n\n"
time.sleep(2)
yield "data: I'm fine, thanks.\n\n"
time.sleep(3)
yield "data: Goodbye.\n\n"
return Response(generate(), mimetype='text/event-stream')
if __name__ == '__main__':
app.run(debug=True)
这个示例代码使用了Flask框架,并创建了一个/stream路由,当向该路由发送HTTP GET请求时(浏览器中访问http://127.0.0.1:5000/stream),就会返回一个SSE事件流。在事件流中,每次间隔一段时间后会发送一条消息。其中data字段代表消息内容,\\n\\n表示该条消息结束。