在Flask框架中实现Server-Sent事件可以通过以下步骤:
from flask import Flask, Response
app = Flask(__name__)
@app.route('/stream')
def stream():
def event_stream():
# 在这里编写生成事件数据的逻辑
yield 'data: Hello\n\n' # 发送事件数据
return Response(event_stream(), mimetype='text/event-stream')
if __name__ == '__main__':
app.run()
在上述代码中,我们定义了一个名为stream
的路由,它返回一个生成器函数event_stream
。在event_stream
函数中,你可以编写生成事件数据的逻辑。使用yield
语句发送事件数据,每个事件数据以data:
开头,并以两个换行符\n\n
结尾。
最后,通过Response
类将event_stream
函数的返回值包装成一个响应对象,并设置mimetype
为text/event-stream
,表示这是一个Server-Sent事件流。
推荐的腾讯云相关产品:腾讯云云服务器(https://cloud.tencent.com/product/cvm)和腾讯云云函数(https://cloud.tencent.com/product/scf)。
请注意,本答案没有提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等流行的云计算品牌商。
领取专属 10元无门槛券
手把手带您无忧上云