diff --git a/Drone/client.py b/Drone/client.py index 241a0d3..c8052b6 100644 --- a/Drone/client.py +++ b/Drone/client.py @@ -110,6 +110,7 @@ class Client: raise KeyboardInterrupt else: logging.info("Connection to server successful!") + self._connect() break if attempt_count >= attempt_limit: @@ -121,7 +122,9 @@ class Client: self.connected = True self.client_socket.setblocking(False) events = selectors.EVENT_READ | selectors.EVENT_WRITE - self.selector.register(self.client_socket, events, data=None) + self.selector.register(self.client_socket, events, data=self.server_connection) + self.server_connection.connect(self.selector, self.client_socket, (self.server_host, self.server_port)) + def broadcast_bind(self): broadcast_client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) @@ -153,12 +156,14 @@ class Client: if events: for key, mask in events: if key.data is None: + pass + else: connection = key.data connection.process_events(mask) if not self.selector.get_map(): logging.warning("No active connections left!") - self.reconnect() + #self.reconnect() except (KeyboardInterrupt, errno.EINTR): logging.critical("Caught interrupt, exiting!") finally: diff --git a/messaging_lib.py b/messaging_lib.py index 561b6ce..0dc5daa 100644 --- a/messaging_lib.py +++ b/messaging_lib.py @@ -69,7 +69,7 @@ class MessageManager: if args is None: args = {} contents = {"requested_value": requested_value, - "requst_id": request_id, + "request_id": request_id, "args": args, } message = cls.create_message(cls._json_encode(contents), "json", "request") @@ -78,7 +78,7 @@ class MessageManager: @classmethod def create_response(cls, requested_value, request_id, value): contents = {"requested_value": requested_value, - "requst_id": request_id, + "request_id": request_id, "value": value, } message = cls.create_message(cls._json_encode(contents), "json", "response")