检测GeneratorExit异常捕获来判断客户端中断连接,然后再中断与服务端的链接
from flask import Response import time @app.route('/stream') def stream(): def generate(): try: while True: yield "data\n" time.sleep(1) except GeneratorExit: print("Client disconnected") # 清理资源 raise StopIteration return Response(generate(), mimetype='text/plain')
网友回复