From 8ab26f85e474dcdbbb2c2fb94b6a087f71952bf8 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sun, 9 Mar 2025 14:16:46 +0800 Subject: feat: broadcast message from one client to the rest, making chat actually possible fix(chatServer, CSessionManager): .join sessionThread properly cleanup(server): unused header --- src/session.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/session.cpp') diff --git a/src/session.cpp b/src/session.cpp index 06f129e..428b439 100644 --- a/src/session.cpp +++ b/src/session.cpp @@ -5,7 +5,7 @@ #include #include #include -#include +#include "chatManager.hpp" CSession::CSession(Hyprutils::OS::CFileDescriptor sockfd) : m_sockfd(std::move(sockfd)) { @@ -47,7 +47,7 @@ void CSession::onSend(const std::string &msg) { void CSession::recvManager() { while (true) { SRecvData recvData = read(); - g_pSessionManager->broadcast(recvData.data, eFormatType::CHAT); + g_pChatManager->newMessage({.msg=recvData.data, .username=m_name}); if (!recvData.good) break; } @@ -91,8 +91,8 @@ bool CSession::registerSession() { write("Name cannot be empty", eFormatType::ERR); registerSession(); } - - m_name = recvData.data; + *std::remove(recvData.data, recvData.data+strlen(recvData.data), '\n') = '\0'; + this->m_name = recvData.data; log(LOG, "Client registered as: {}", m_name); -- cgit v1.2.3