diff --git a/src/websocket_server.cpp b/src/websocket_server.cpp index 4d9f811..cc459de 100644 --- a/src/websocket_server.cpp +++ b/src/websocket_server.cpp @@ -366,8 +366,34 @@ int WebSocketServer::wsCallback(struct lws *wsi, } // Lege Nachricht in die Queue, ohne sofort lws_callback_on_writable aufzurufen - // Verwende sendMessageToConnection, das bereits alle notwendigen Prüfungen hat - instance->sendMessageToConnection(wsi, ud, errorResponse.dump()); + // Kopiere die Nachricht und verwende sendMessageToConnection + try { + std::cout << "[RECEIVE] Erstelle messageStr..." << std::endl; + std::string messageStr = errorResponse.dump(); + std::cout << "[RECEIVE] messageStr erstellt: " << messageStr.length() << " Bytes" << std::endl; + + // Prüfe ob instance, wsi und ud noch gültig sind + if (!instance) { + std::cerr << "[RECEIVE] instance ist nullptr vor sendMessageToConnection" << std::endl; + break; + } + if (!wsi) { + std::cerr << "[RECEIVE] wsi ist nullptr vor sendMessageToConnection" << std::endl; + break; + } + if (!ud) { + std::cerr << "[RECEIVE] ud ist nullptr vor sendMessageToConnection" << std::endl; + break; + } + + std::cout << "[RECEIVE] Rufe sendMessageToConnection auf..." << std::endl; + instance->sendMessageToConnection(wsi, ud, messageStr); + std::cout << "[RECEIVE] sendMessageToConnection erfolgreich aufgerufen" << std::endl; + } catch (const std::exception &e) { + std::cerr << "[RECEIVE] Exception beim Aufruf von sendMessageToConnection: " << e.what() << std::endl; + } catch (...) { + std::cerr << "[RECEIVE] Unbekannte Exception beim Aufruf von sendMessageToConnection" << std::endl; + } // Verwende lws_cancel_service, um den Service zu benachrichtigen if (instance->context) {