From 03d7b669aed652ddbf0a267f75f825fd4c29d011 Mon Sep 17 00:00:00 2001 From: liamcottle Date: Fri, 7 Feb 2025 17:17:46 +1300 Subject: [PATCH] show connected clients count for websocket server interface --- src/backend/interfaces/WebsocketServerInterface.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/backend/interfaces/WebsocketServerInterface.py b/src/backend/interfaces/WebsocketServerInterface.py index 52b15d7..26f1cae 100644 --- a/src/backend/interfaces/WebsocketServerInterface.py +++ b/src/backend/interfaces/WebsocketServerInterface.py @@ -57,6 +57,10 @@ class WebsocketServerInterface(Interface): thread.daemon = True thread.start() + @property + def clients(self): + return len(self.spawned_interfaces) + # todo docs def received_announce(self, from_spawned=False): if from_spawned: @@ -124,6 +128,9 @@ class WebsocketServerInterface(Interface): # run read loop spawned_interface.read_loop() + # client must have disconnected as the read loop finished, so forget the spawned interface + self.spawned_interfaces.remove(spawned_interface) + # run websocket server try: with serve(on_websocket_client_connected, self.listen_ip, self.listen_port, compression=None) as server: