我一直在尝试使用python websocket-client模块从交换机接收和存储持续更新。通常,脚本会在发出以下错误之前平稳运行一天左右:websocket._exceptions.WebSocketConnectionClosedException: Connection is already closed
。
我查看了websocket-client源代码,显然代码if not bytes_:
在第92行引发了错误。此外,WebSocketConnectionClosedException
应该被提升"If remote host closed the connection or some network error happened"
。
任何人都可以告诉我为什么会这样,以及我能做些什么来阻止或处理它。
答案 0 :(得分:0)
最有可能的是,远程主机关闭了连接。你无法阻止它。您可以通过重新连接来处理它。
运行Web服务器的人们将实现自动清除,以摆脱可能过时的连接。关闭已打开24小时的连接听起来很明智。并没有造成任何伤害,因为如果客户端仍然有兴趣,它可以重新建立连接。如果需要验证,这对重新验证客户端也很有用。
再三考虑,这也可能是网络断开连接。一些DSL提供商过去每24小时断开连接并重新分配一个新IP,以防止用户在临时分配的IP地址上运行永久性服务。不知道他们是否仍然这样做。