diff --git a/src-python/models/osc/osc.py b/src-python/models/osc/osc.py index f01ce3cd..2f568e2f 100644 --- a/src-python/models/osc/osc.py +++ b/src-python/models/osc/osc.py @@ -70,9 +70,15 @@ class OSCHandler: self.osc_server = osc_server.ThreadingOSCUDPServer((self.osc_server_ip_address, self.osc_server_port), osc_dispatcher, asyncio.get_event_loop()) Thread(target=self.oscServerServe, daemon=True).start() - self.osc_query_service = OSCQueryService(self.osc_query_service_name, self.http_port, self.osc_server_port) - for filter, target in dict_filter_and_target.items(): - self.osc_query_service.advertise_endpoint(filter, access=OSCAccess.READWRITE_VALUE) + query_service_success = False + while not query_service_success: + try: + self.osc_query_service = OSCQueryService(self.osc_query_service_name, self.http_port, self.osc_server_port) + for filter, target in dict_filter_and_target.items(): + self.osc_query_service.advertise_endpoint(filter, access=OSCAccess.READWRITE_VALUE) + query_service_success = True + except Exception: + pass def oscServerServe(self) -> None: self.osc_server.serve_forever(2)