Füge Debug-Ausgaben in ChatUser, Server, SSLServer und Base hinzu
- Ergänze Debug-Logs in den Konstruktoren und wichtigen Methoden, um den Ablauf und die Konfiguration während der Server- und Benutzerinitialisierung zu protokollieren. - Verbessere die Nachverfolgbarkeit von WebSocket-Verbindungen und Nachrichtenübertragungen durch zusätzliche Ausgaben in den entsprechenden Methoden. - Diese Änderungen unterstützen die Fehlersuche und verbessern die Transparenz des Systemverhaltens während der Laufzeit.
This commit is contained in:
@@ -24,11 +24,19 @@ namespace Yc {
|
||||
_database(std::move(database)),
|
||||
_stop(false),
|
||||
_socket(-1) {
|
||||
#ifdef YC_DEBUG
|
||||
std::cout << "[Debug] Server constructor called" << std::endl;
|
||||
#endif
|
||||
|
||||
int port = 1235;
|
||||
try {
|
||||
Json::Value p = _config->value("server", "port");
|
||||
if (p.isInt()) port = p.asInt();
|
||||
} catch (...) {}
|
||||
|
||||
#ifdef YC_DEBUG
|
||||
std::cout << "[Debug] Server port: " << port << std::endl;
|
||||
#endif
|
||||
int opt = 1;
|
||||
// Try IPv6 dual-stack (accepts IPv4 via v4-mapped if v6only=0)
|
||||
_socket = socket(AF_INET6, SOCK_STREAM, 0);
|
||||
@@ -111,6 +119,10 @@ namespace Yc {
|
||||
}
|
||||
|
||||
void Server::run() {
|
||||
#ifdef YC_DEBUG
|
||||
std::cout << "[Debug] Server::run() called" << std::endl;
|
||||
#endif
|
||||
|
||||
if (_socket < 0) {
|
||||
std::cout << "Invalid socket, cannot start server" << std::endl;
|
||||
return;
|
||||
@@ -120,6 +132,10 @@ namespace Yc {
|
||||
std::cout << "listen not possible: " << strerror(errno) << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef YC_DEBUG
|
||||
std::cout << "[Debug] Server listening on socket: " << _socket << std::endl;
|
||||
#endif
|
||||
timeval origTv;
|
||||
origTv.tv_sec = 1; // Shorter timeout for more responsive shutdown
|
||||
origTv.tv_usec = 0;
|
||||
@@ -421,13 +437,24 @@ namespace Yc {
|
||||
}
|
||||
|
||||
void Server::handleRequest() {
|
||||
#ifdef YC_DEBUG
|
||||
std::cout << "[Debug] handleRequest called" << std::endl;
|
||||
#endif
|
||||
|
||||
struct sockaddr_in sockAddr;
|
||||
socklen_t sockAddrLen = sizeof(sockAddr);
|
||||
int userSock = accept(_socket, (struct sockaddr *)&sockAddr, &sockAddrLen);
|
||||
if (userSock < 0) {
|
||||
#ifdef YC_DEBUG
|
||||
std::cout << "[Debug] accept failed: " << strerror(errno) << std::endl;
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef YC_DEBUG
|
||||
std::cout << "[Debug] New connection accepted, socket: " << userSock << std::endl;
|
||||
#endif
|
||||
|
||||
// Neuen Socket zur Überwachung hinzufügen
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(socketMutex);
|
||||
|
||||
Reference in New Issue
Block a user