Python WebSocket客户端堆栈溢出重新连接
我为一个WebSocket客户端创建了一个类,当不间断地断开连接时,它会重新打开。断开几次连接后,我发现Python堆栈溢出Python WebSocket客户端堆栈溢出重新连接,python,class,websocket,client,stack-overflow,Python,Class,Websocket,Client,Stack Overflow,我为一个WebSocket客户端创建了一个类,当不间断地断开连接时,它会重新打开。断开几次连接后,我发现Python堆栈溢出 为什么我会有这个问题?我认为它来自于试图重新连接的无限循环,但这是预期的行为 有没有办法避免这个问题?如果是,如何进行?若否,原因为何 如有任何意见,将不胜感激。我希望这能帮助别人 这是我的班级: import websocket import json class MyWebSocketClient(object): def __init__(self,
- 为什么我会有这个问题?我认为它来自于试图重新连接的无限循环,但这是预期的行为
- 有没有办法避免这个问题?如果是,如何进行?若否,原因为何
import websocket
import json
class MyWebSocketClient(object):
def __init__(self, url):
self.url = url
self.connected = False
self.running = False
def start(self):
self.running = True
self.ws = websocket.WebSocketApp(
url=self.URL,
on_open=self.on_open,
on_message=self.on_message,
on_close=self.on_close,
on_error=self.on_error,
)
self.ws.run_forever()
def stop(self):
self.running = False
self.ws.keep_running = False
def send(self, data: dict):
data = json.dumps(data, separators=(",", ":"), indent=None)
self.ws.send(data)
def on_open(self):
logger.info('Connexion opened')
self.connected = True
def on_message(self, data):
logger.info(f'Data received: {data}')
def on_close(self):
logger.info(f'Connection closed')
self.connected = False
if self.running:
self.start()
def on_error(self, err):
logger.error(f'Error: {err}')