Flask流式传输在我的机器上不起作用
这段内容和这个问题有关。
我正在尝试使用Flask的流式传输功能,但遇到了一些困难。奇怪的是,我的示例在其他任何机器上都能正常工作,唯独在我自己的机器上不行。我现在使用的是Flask 0.10.1、Werkzeug 0.9.4和Python 2.7.6。我已经重新安装了Flask和Werkzeug,但问题依旧。如果有人能给我一些调试的建议,我将非常感激。
我遇到的问题是,在流打开的情况下,数据并没有发送到客户端,而是等到流关闭后才发送(比如在下面的示例中,当生成器函数返回时)。
#!/usr/bin/env python
from flask import Flask, Response
from time import sleep
def stream():
n = 10
while n > 0:
yield "data: hi\n\n"
sleep(0.5)
n = n - 1
app = Flask(__name__)
@app.route("/events")
def streamSessionEvents():
return Response(
stream(),
mimetype="text/event-stream"
)
#...also has a route to output html/js client to consume the above
app.run(threaded=True)
1 个回答
0
最近我又看了一下这个问题,确实是病毒扫描软件在干扰我的网络流量。
我使用的是Sophos这个软件,发现如果我把运行我Flask应用的机器地址加到病毒扫描软件的“允许网站”列表中,那么我的SSE事件就能正常接收了。