- Füge Debug-Ausgaben hinzu, um den Ablauf beim Hinzufügen neuer Benutzer zu protokollieren.
- Sende wichtige Nachrichten (Raum- und Benutzerlisten) an den neuen Benutzer, bevor der checkerTask-Thread gestartet wird, um sicherzustellen, dass alle relevanten Informationen rechtzeitig bereitgestellt werden.
- Implementiere eine kurze Verzögerung, um den Abschluss des WebSocket-Handshakes zu gewährleisten, bevor Nachrichten gesendet werden.
- 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.
- Füge Überprüfungen hinzu, um sicherzustellen, dass der Socket gültig ist, bevor Nachrichten gesendet werden.
- Implementiere detaillierte Fehlerprotokollierung für verschiedene Socket-Fehler, um die Diagnose zu erleichtern.
- Ergänze eine kurze Verzögerung im ChatRoom, um den Abschluss des WebSocket-Handshakes zu gewährleisten.
- Implementiere einen neuen Konstruktor in der Klasse `ChatUser`, der eine Datenbankverbindung akzeptiert, um Benutzerinformationen zu laden.
- Füge eine Methode `setDatabase` in der Klasse `ChatRoom` hinzu, um die Datenbankverbindung zu setzen.
- Aktualisiere die Logik in `ChatRoom`, um den neuen Konstruktor zu verwenden, wenn eine Datenbankverbindung vorhanden ist, andernfalls wird der alte Konstruktor verwendet.
- Stelle sicher, dass die Datenbankverbindung in den Server- und SSLServer-Klassen beim Erstellen neuer Räume gesetzt wird.
- Implementiere eine Bedingung, die sicherstellt, dass bei fehlendem Elternobjekt ein Standardbenutzer und ein Token generiert werden.
- Sende eine Nachricht mit dem generierten Token, um die Benutzerverwaltung zu verbessern.
- Füge die Methode `removeUserDisconnected` in der ChatRoom-Klasse hinzu, um Benutzer bei Verbindungsabbrüchen zu entfernen und entsprechende Nachrichten zu senden.
- Aktualisiere die ChatUser-Klasse, um einen Token-Getter bereitzustellen und die Verbindungsprüfung zu optimieren.
- Ändere die Server-Klasse, um die Benutzerverwaltung bei Raumwechseln zu verbessern und Debug-Informationen hinzuzufügen.
- Optimiere die Socket-Optionen für eine schnellere Fehlererkennung und verbessere die Handhabung von Anfragen.
- Implementiere neue Funktionen in der ChatRoom-Klasse für das Starten, Rollen und Beenden von Würfelspielen.
- Füge eine Option zur Aktivierung von Debug-Logging in CMake hinzu, um die Entwicklung zu erleichtern.
- Aktualisiere die ChatUser-Klasse, um die Interaktion mit dem Würfelspiel zu ermöglichen.
- Verbessere die Socket-Verwaltung im Server, um WebSocket-Verbindungen zu unterstützen und die Handhabung von Anfragen zu optimieren.
- Aktualisiere die Konfiguration, um die neue Funktionalität zu unterstützen und die Benutzererfahrung zu verbessern.
- Created ChatRoom class to manage chat room functionalities, including user management, message handling, and game mechanics.
- Developed ChatUser class to represent individual users, handling user-specific actions and interactions within chat rooms.
- Implemented a Config class for loading configuration settings from a JSON file.
- Established a Server class to manage connections, handle requests, and facilitate communication between users and chat rooms.
- Introduced a Database class for database interactions, utilizing PostgreSQL for user and room data management.
- Added utility functions in the Base class for JSON handling and socket communication.
- Created Object classes for Room and User to encapsulate their properties and behaviors.
- Updated main function to initialize server and load chat rooms from configuration.