我正在尝试使用网络套接字和asyncio自动重新连接,但是似乎我的代码无法正常工作。有什么建议可以改善吗?
websocket连接有时会失败。因此,我尝试将其捕获为异常。
import asyncio
import json
import websockets
async def test():
async with websockets.connect('my_websocket_ip') as websvivo:
while True:
response = await websvivo.recv()
response = json.loads(response)
print(response)
if __name__ == "__main__":
try:
asyncio.run(test())
except websockets.exceptions.ConnectionClosedError as e:
asyncio.sleep(2)
asyncio.run(test())
except Exception as e:
print(e)
我收到以下错误消息:
concurrent.futures._base.CancelledError