From 9e5d53c188c21e1c76019ca526b86571b6ad1c56 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 5 Sep 2025 10:55:08 +0200 Subject: [PATCH] =?UTF-8?q?F=C3=BCge=20kurze=20Verz=C3=B6gerung=20im=20Cha?= =?UTF-8?q?tUser=20hinzu=20und=20entferne=20=C3=BCberfl=C3=BCssige=20Socke?= =?UTF-8?q?t-Validierung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Ergänze eine Wartezeit von 500 Millisekunden, um den Abschluss des WebSocket-Handshakes sicherzustellen. - Entferne die zusätzliche Socket-Validierung, um den Code zu vereinfachen und die Lesbarkeit zu verbessern. --- src/core/chat_user.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/core/chat_user.cpp b/src/core/chat_user.cpp index 154e8fb..34ab5d9 100644 --- a/src/core/chat_user.cpp +++ b/src/core/chat_user.cpp @@ -252,6 +252,9 @@ namespace Yc void ChatUser::checkerTask() { try { + // Warte kurz, damit der WebSocket-Handshake vollständig abgeschlossen ist + std::this_thread::sleep_for(std::chrono::milliseconds(500)); + // Heartbeat-Intervall: Alle 10 Sekunden Verbindung prüfen const int HEARTBEAT_INTERVAL = 2; int heartbeatCounter = 0; @@ -360,16 +363,6 @@ namespace Yc return; } - // Zusätzliche Socket-Validierung mit fcntl - int flags = fcntl(_socket, F_GETFL); - if (flags == -1) { - #ifdef YC_DEBUG - std::cout << "[Debug] Socket " << _socket << " is invalid (fcntl failed), skipping send" << std::endl; - #endif - _socket = -1; // Markiere als ungültig - return; - } - // Entferne ggf. Token-Felder aus JSON-Strings und sende über Socket/WebSocket Base::sanitizeTokensInString(out); Base::send(_socket, out);