From 2effeaa025f82625a5910a8c944ab41938740e1d Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 5 Sep 2025 13:35:40 +0200 Subject: [PATCH] =?UTF-8?q?F=C3=BCge=20Logik=20zum=20=C3=9Cberspringen=20d?= =?UTF-8?q?er=20Socket-=C3=9Cberpr=C3=BCfung=20f=C3=BCr=20WebSocket-Nutzer?= =?UTF-8?q?=20hinzu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Ergänze eine Bedingung, die sicherstellt, dass die Socket-Überprüfung für WebSocket-Nutzer übersprungen wird, da dies von der libwebsockets verwaltet wird. - Füge Debug-Ausgaben hinzu, um die Entscheidung zum Überspringen der Überprüfung zu protokollieren und die Nachverfolgbarkeit zu verbessern. --- src/core/chat_user.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/core/chat_user.cpp b/src/core/chat_user.cpp index 66fd5f9..06b16ff 100644 --- a/src/core/chat_user.cpp +++ b/src/core/chat_user.cpp @@ -366,9 +366,17 @@ namespace Yc if (heartbeatCounter >= HEARTBEAT_INTERVAL) { heartbeatCounter = 0; - // Prüfe Verbindung mit MSG_PEEK (nicht-blockierend) - char peek; - ssize_t r = recv(_socket, &peek, 1, MSG_PEEK | MSG_DONTWAIT); + // Prüfe Verbindung mit MSG_PEEK (nicht-blockierend) + // Für WebSocket: Skip heartbeat check da libwebsockets das verwaltet + if (_wsi) { + #ifdef YC_DEBUG + std::cout << "[Debug] WebSocket user, skipping socket check" << std::endl; + #endif + continue; + } + + char peek; + ssize_t r = recv(_socket, &peek, 1, MSG_PEEK | MSG_DONTWAIT); if (r == 0) { #ifdef YC_DEBUG