【发布时间】:2021-07-22 16:32:48
【问题描述】:
我正在尝试访问 websocket 以收听一些信息,因此我想使用 run_forever 命令继续收听,直到我停止程序,但是当我这样做时,我收到以下错误,有人可以告诉我我是什么做错了吗?
代码:
loop = asyncio.get_event_loop()
async def listen():
url = "websocket url starting with wss"
async with websockets.connect(url) as ws:
msg = await ws.recv()
print(msg)
loop.run_forever(listen())
错误然后说:
RuntimeWarning: coroutine 'listen' was never awaited
loop.run_forever(listen())
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Traceback (most recent call last):
File "C:\Users\...", line 18, in <module>
loop.run_forever(listen())
TypeError: run_forever() takes 1 positional argument but 2 were given
【问题讨论】:
-
只要将监听函数作为参数提供给
run_forever,您就正在运行它。试试run_forever(listen)
标签: python asynchronous websocket