如何禁用Quart WebSocket的空闲超时?
Quart WebSocket 禁用空闲超时的方法
Quart 默认的 WebSocket 空闲60秒自动关闭是内置的安全机制,要禁用或调整这个超时,有两种方式:
全局配置(所有WebSocket路由生效)
直接修改Quart应用的配置项WEBSOCKET_TIMEOUT,将其设为None即可完全禁用空闲超时,或者设置一个超大数值(比如float('inf')):
from quart import Quart app = Quart(__name__) # 禁用全局WebSocket空闲超时 app.config['WEBSOCKET_TIMEOUT'] = None
单个路由配置(仅指定路由生效)
如果只想给某一个WebSocket路由关闭超时,可以在@app.websocket装饰器里添加timeout参数并设为None:
from quart import websocket @app.websocket('/your-ws-path', timeout=None) async def your_websocket_handler(): while True: # 处理WebSocket消息逻辑 message = await websocket.receive() await websocket.send(f"Received: {message}")
设置完成后,WebSocket连接就不会因为空闲超过60秒被自动关闭了。
内容的提问来源于stack exchange,提问作者user2741831
相关产品推荐
相关产品推荐

