“error.ReactorNotRestartable()twisted.internet.error.ReactorNotRestartable”- Binance websocket api

问题描述 投票:0回答:2

我遇到了 websocket 问题。我从 https://github.com/Binance-docs/binance-futures-connector-python/tree/main/examples/websocket/futures 运行的任何示例都会给出以下错误 - “警告:root:WebSocket 连接已关闭:连接被不干净地关闭(对等点在没有先前的 WebSocket 关闭握手的情况下断开了 TCP 连接),代码:1006,干净:False,原因:连接被不干净地关闭了(对等点在没有先前的 WebSocket 关闭握手的情况下断开了 TCP 连接)”。

每当我尝试重新运行示例时,我都会收到错误“error.ReactorNotRestartable() 扭曲.互联网.错误.ReactorNotRestartable”。

我发现可以通过卸载然后重新安装扭曲库来避免此错误。但每次我想启动 websocket 时都必须重复重新安装。因为这不是一个可行的解决方案。这里有人可以帮我解决这个问题吗?关闭 websocket 连接的最合适方法是什么

ws_client = FuturesWebsocketClient(), ws_client.stop() 
导致了这个问题。

python-3.x websocket twisted binance
2个回答
0
投票

Twisted 的反应堆目前无法重新启动。每个进程最多可以安装一个,并且最多可以运行一次。

您的 Jupyer 笔记本在单个长期运行的 Python 进程中运行,因此您只能进行一次尝试的运行反应堆交互。

我不知道“卸载并重新安装 Twisted”是什么意思,但一般的解决方案是安排您的代码,以便您只需要运行 Twisted 反应器一次(即,在完成之前不要停止它)你想做的一切)或向 Twisted 贡献可重新启动的反应堆。

或者,也许停止在 Jupyter Notebook 中运行代码,并在具有不同进程生命周期的环境中运行它。


0
投票

请尝试使用最新版本,Websocket部分已重新设计。

© www.soinside.com 2019 - 2024. All rights reserved.