如何解决为什么python websockets客户端每50秒重置一次连接?
python websockets
客户端出错。客户端每约 50 秒重置一次连接。
服务器显示错误:
Traceback (most recent call last):
File ".\main.py",line 133,in websocket_endpoint
await Importer(websocket).start()
File ".\main.py",line 127,in start
await self.receive_data(await self.websocket.receive_json())
File "C:\python\env\py38\lib\site-packages\starlette\websockets.py",line 98,in receive_json
self._raise_on_disconnect(message)
File "C:\python\env\py38\lib\site-packages\starlette\websockets.py",line 80,in _raise_on_disconnect
raise WebSocketDisconnect(message["code"])
starlette.websockets.WebSocketDisconnect: 1006
客户端没有显示任何错误。
FastApi 上的服务器在 uvicorn
的帮助下运行。
uviconr main.app --reload --ws websockets
解决方法
Websockets
是异步的,如果线程阻塞超过 50 秒,那么在我的情况下连接将重置。为了解决这个问题,需要找到阻止线程并在帮助下运行它们的函数:
result = await loop.run_in_executor(None,blocking_io_function)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。