diff --git a/src/judas_client/connector.py b/src/judas_client/connector.py index a55103d..bfbfc97 100644 --- a/src/judas_client/connector.py +++ b/src/judas_client/connector.py @@ -130,6 +130,12 @@ class Connector: self.socket.close() self.logger.info("Connection closed.") + def reconnect(self) -> None: + self.logger.debug("Reconnecting...") + self.close() + self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.connect() + def send_hello(self) -> None: self.logger.debug("[.] Sending hello message...") hello_message: Message = Message.hello(self.mac_address) @@ -141,6 +147,7 @@ class Connector: time.sleep(1) data: bytes = self.receive() if not data: + self.reconnect() continue message = Message.from_bytes(data.strip()) self.logger.info(f"[<] Message received: {message}")