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.
This commit is contained in:
@@ -334,8 +334,9 @@ async fn run_accept_loop(
|
|||||||
result = listener.accept() => {
|
result = listener.accept() => {
|
||||||
match result {
|
match result {
|
||||||
Ok((stream, peer)) => {
|
Ok((stream, peer)) => {
|
||||||
|
|
||||||
let peer_addr = peer;
|
let peer_addr = peer;
|
||||||
|
println!("[WebSocketServer] Client-Verbindungsversuch von {} (TCP-Verbindung etabliert)", peer_addr);
|
||||||
|
|
||||||
let rx = tx.subscribe();
|
let rx = tx.subscribe();
|
||||||
let registry_clone = registry.clone();
|
let registry_clone = registry.clone();
|
||||||
let ws_log_clone = ws_log.clone();
|
let ws_log_clone = ws_log.clone();
|
||||||
@@ -343,7 +344,7 @@ async fn run_accept_loop(
|
|||||||
|
|
||||||
tokio::spawn(async move {
|
tokio::spawn(async move {
|
||||||
if let Some(acc) = tls_acceptor_clone {
|
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 {
|
match acc.accept(stream).await {
|
||||||
Ok(tls_stream) => {
|
Ok(tls_stream) => {
|
||||||
println!("[WebSocketServer] TLS-Handshake erfolgreich für {}", peer_addr);
|
println!("[WebSocketServer] TLS-Handshake erfolgreich für {}", peer_addr);
|
||||||
@@ -360,13 +361,13 @@ async fn run_accept_loop(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} 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;
|
handle_connection(stream, peer_addr, rx, registry_clone, ws_log_clone).await;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
Err(e) => {
|
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
|
// Kurz warten, um CPU-Last zu reduzieren bei wiederholten Fehlern
|
||||||
tokio::time::sleep(TokioDuration::from_millis(100)).await;
|
tokio::time::sleep(TokioDuration::from_millis(100)).await;
|
||||||
}
|
}
|
||||||
@@ -385,9 +386,10 @@ async fn handle_connection<S>(
|
|||||||
) where
|
) where
|
||||||
S: AsyncRead + AsyncWrite + Unpin + Send + 'static,
|
S: AsyncRead + AsyncWrite + Unpin + Send + 'static,
|
||||||
{
|
{
|
||||||
|
println!("[WebSocketServer] Versuche WebSocket-Handshake für {}...", peer_addr);
|
||||||
let ws_stream = match accept_async(stream).await {
|
let ws_stream = match accept_async(stream).await {
|
||||||
Ok(ws) => {
|
Ok(ws) => {
|
||||||
println!("[WebSocketServer] WebSocket-Handshake erfolgreich für {}", peer_addr);
|
println!("[WebSocketServer] WebSocket-Handshake erfolgreich für {} - Verbindung etabliert", peer_addr);
|
||||||
ws
|
ws
|
||||||
}
|
}
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
@@ -397,8 +399,6 @@ async fn handle_connection<S>(
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
println!("[WebSocketServer] Neue WebSocket-Verbindung etabliert von {}", peer_addr);
|
|
||||||
|
|
||||||
let (mut ws_sender, mut ws_receiver) = ws_stream.split();
|
let (mut ws_sender, mut ws_receiver) = ws_stream.split();
|
||||||
|
|
||||||
// Kanal für Antworten direkt an diesen Client (z.B. getConnections)
|
// Kanal für Antworten direkt an diesen Client (z.B. getConnections)
|
||||||
|
|||||||
Reference in New Issue
Block a user