【发布时间】:2020-06-29 03:17:07
【问题描述】:
我希望能够在 Quart 中使用 WebSocket 来接收发送的任何消息,并发送我可能需要发送的任何消息。无法保证消息会在发送和接收之间交替。
例如,Quart's tutorial page on WebSockets 具有以下 sn-p:
@app.websocket('/api/v2/ws')
@collect_websocket
async def ws(queue):
while True:
data = await queue.get()
await websocket.send(data)
不知何故,我想修改while True循环中的代码,以便我可以检查是否有任何数据要接收,但如果没有,我将改为检查队列。
我希望只有在有东西要接收的情况下才能在套接字上等待接收(如果receive 方法中有一个timeout 参数,也许可以实现),但这不是一个选项.
那么,我怎样才能await WebSocket 进行更新,同时await 使用其他内容进行更新?
【问题讨论】:
标签: websocket async-await python-asyncio quart