"连接已经关闭." python WebSocket客户端出错

alv*_*ini 7 python websocket

我一直在尝试使用python websocket-client模块从交换机接收和存储持续更新.通常,在引发以下错误之前,脚本将平稳运行一天左右:websocket._exceptions.WebSocketConnectionClosedException: Connection is already closed.

我查看了websocket-client源代码,显然代码中的第92行引发了错误if not bytes_:.此外,WebSocketConnectionClosedException应该提出"If remote host closed the connection or some network error happened".

任何人都可以告诉我为什么会这样,以及我能做些什么来阻止或处理它.

Rol*_*ber 2

最有可能的是,远程主机关闭了连接。你无法阻止它。您可以通过重新连接来处理。

运行网络服务器的人们将实施自动清理以摆脱潜在的陈旧连接。关闭已打开 24 小时的连接听起来是一个明智的方法。这也没有什么坏处,因为如果客户端仍然感兴趣,它可以重新建立连接。如果需要身份验证,这对于重新验证客户端也很有用。

再想一想,也可能是网络断开。一些 DSL 提供商过去每 24 小时断开连接并重新分配新的 IP,以防止用户在临时分配的 IP 地址上运行永久服务。不知道他们是否还这样做。