From dfbf4667066904cf30ad8cf04355a49c82f5a291 Mon Sep 17 00:00:00 2001 From: Arthur Golubtsov Date: Mon, 30 Dec 2019 01:35:11 +0300 Subject: [PATCH] Server: Catch network exceptions --- Server/server.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Server/server.py b/Server/server.py index 6b9af0f..7cdf020 100644 --- a/Server/server.py +++ b/Server/server.py @@ -199,16 +199,20 @@ class Server(messaging.Singleton): logging.info("Formed broadcast message: {}".format(msg)) time.sleep(self.BROADCAST_DELAY) - try: - while self.broadcast_thread_running.is_set(): + + while self.broadcast_thread_running.is_set(): + try: broadcast_sock.sendto(msg, ('255.255.255.255', self.broadcast_port)) + except OSError as e: + logging.error("Exception occured while broadcasting: {}".format(e)) + except Exception as e: + broadcast_sock.close() + logging.info("Broadcast sender thread stopped, socked closed!") + else: logging.debug("Broadcast sent") + finally: time.sleep(self.BROADCAST_DELAY) - finally: - broadcast_sock.close() - logging.info("Broadcast sender thread stopped, socked closed!") - def _broadcast_listen(self): logging.info("Broadcast listener thread started!") broadcast_client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)