From e1e4c08d38cf2530623d6620a7010eb53157752b Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Mon, 12 Jan 2026 16:54:08 +0100 Subject: [PATCH] Improve logging in WebSocket server: Enhance connection acceptance and WebSocket handshake messages for better clarity. Update error messages for connection failures and refine logging for TLS and non-TLS connections, ensuring comprehensive diagnostics and user awareness. --- src/websocket_server.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/websocket_server.rs b/src/websocket_server.rs index cedf6b4..8b7f0f4 100644 --- a/src/websocket_server.rs +++ b/src/websocket_server.rs @@ -334,8 +334,9 @@ async fn run_accept_loop( result = listener.accept() => { match result { Ok((stream, peer)) => { - let peer_addr = peer; + println!("[WebSocketServer] Client-Verbindungsversuch von {} (TCP-Verbindung etabliert)", peer_addr); + let rx = tx.subscribe(); let registry_clone = registry.clone(); let ws_log_clone = ws_log.clone(); @@ -343,7 +344,7 @@ async fn run_accept_loop( tokio::spawn(async move { if let Some(acc) = tls_acceptor_clone { - println!("[WebSocketServer] Neue TCP-Verbindung von {} (TLS-Handshake wird durchgeführt...)", peer_addr); + println!("[WebSocketServer] Starte TLS-Handshake für {}...", peer_addr); match acc.accept(stream).await { Ok(tls_stream) => { println!("[WebSocketServer] TLS-Handshake erfolgreich für {}", peer_addr); @@ -360,13 +361,13 @@ async fn run_accept_loop( } } } else { - println!("[WebSocketServer] Neue TCP-Verbindung von {} (ohne TLS)", peer_addr); + println!("[WebSocketServer] Verarbeite Verbindung von {} ohne TLS (Client sollte ws:// verwenden, nicht wss://)", peer_addr); handle_connection(stream, peer_addr, rx, registry_clone, ws_log_clone).await; } }); } Err(e) => { - eprintln!("[WebSocketServer] accept() fehlgeschlagen: {}", e); + eprintln!("[WebSocketServer] Fehler beim Akzeptieren einer Verbindung: {}", e); // Kurz warten, um CPU-Last zu reduzieren bei wiederholten Fehlern tokio::time::sleep(TokioDuration::from_millis(100)).await; } @@ -385,9 +386,10 @@ async fn handle_connection( ) where S: AsyncRead + AsyncWrite + Unpin + Send + 'static, { + println!("[WebSocketServer] Versuche WebSocket-Handshake für {}...", peer_addr); let ws_stream = match accept_async(stream).await { Ok(ws) => { - println!("[WebSocketServer] WebSocket-Handshake erfolgreich für {}", peer_addr); + println!("[WebSocketServer] WebSocket-Handshake erfolgreich für {} - Verbindung etabliert", peer_addr); ws } Err(e) => { @@ -397,8 +399,6 @@ async fn handle_connection( } }; - println!("[WebSocketServer] Neue WebSocket-Verbindung etabliert von {}", peer_addr); - let (mut ws_sender, mut ws_receiver) = ws_stream.split(); // Kanal für Antworten direkt an diesen Client (z.B. getConnections)