diff --git a/HardwareMonitor/HardwareMonitor/Monitor/MonitorPoller.cs b/HardwareMonitor/HardwareMonitor/Monitor/MonitorPoller.cs index 9b86ee0..e5b694b 100644 --- a/HardwareMonitor/HardwareMonitor/Monitor/MonitorPoller.cs +++ b/HardwareMonitor/HardwareMonitor/Monitor/MonitorPoller.cs @@ -82,6 +82,13 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken) while (!stoppingToken.IsCancellationRequested) { + if (!_socketHost.HasConnections()) + { + logger.LogInformation("No clients, skipping..."); + await Task.Delay(1000, stoppingToken); + continue; + } + foreach (var hardware in sharedMemoryData.Hardwares) { hardware.Hardware.Update(); @@ -179,6 +186,10 @@ private void SendPresentMonAppsToClients() { _socketHost.SendToAll(memoryStream.ToArray()); } + else + { + logger.LogInformation("No clients to send"); + } } private SharedMemoryData QueryHardwareData() diff --git a/HardwareMonitor/HardwareMonitor/Sockets/SocketHost.cs b/HardwareMonitor/HardwareMonitor/Sockets/SocketHost.cs index 10bcd6a..3807089 100644 --- a/HardwareMonitor/HardwareMonitor/Sockets/SocketHost.cs +++ b/HardwareMonitor/HardwareMonitor/Sockets/SocketHost.cs @@ -80,8 +80,9 @@ public void SendToAll(byte[] memoryStream) { client.SendAsync(listWithSize.ToArray(), SocketFlags.None); } - catch (SocketException) + catch (SocketException e) { + logger.LogError("Error while sending data to all clients {Exception}", e); continue; } }