diff --git a/src/qt_client/main.cpp b/src/qt_client/main.cpp index 7b52047..cc8f581 100644 --- a/src/qt_client/main.cpp +++ b/src/qt_client/main.cpp @@ -468,8 +468,22 @@ private slots: } void on_socket_read() { - while (socket->canReadLine()) { - QString message = QString::fromUtf8(socket->readLine()).trimmed(); + // Read all available data + QByteArray data = socket->readAll(); + if (data.isEmpty()) return; + + // Append to buffer + m_read_buffer.append(data); + + // Process complete lines + while (true) { + int newline_pos = m_read_buffer.indexOf('\n'); + if (newline_pos == -1) break; // No complete line yet + + QString message = QString::fromUtf8(m_read_buffer.left(newline_pos)).trimmed(); + m_read_buffer.remove(0, newline_pos + 1); + + if (message.isEmpty()) continue; // Skip empty lines // Handle authentication response if (message.startsWith("LOGIN_SUCCESS:")) { @@ -499,7 +513,7 @@ private slots: // Placeholder for future video frame implementation } else { // Regular chat message - chat_display->append("[Server] " + message); + chat_display->append(message); } } } @@ -601,6 +615,7 @@ private: // Connection QSslSocket *socket; + QByteArray m_read_buffer; QColor bg_color; QColor text_color; diff --git a/src/server/server.cpp b/src/server/server.cpp index 4fdb121..8e3447a 100644 --- a/src/server/server.cpp +++ b/src/server/server.cpp @@ -71,15 +71,9 @@ bool load_certificates(const char *cert_file, const char *key_file) { void broadcast_message(const std::string &message, SSL *sender) { std::lock_guard lock(clients_mutex); - std::cout << "Broadcasting to " << client_sockets.size() << " clients (excluding sender): " << message; for (SSL *client : client_sockets) { if (client != sender) { - int bytes_written = SSL_write(client, message.c_str(), message.length()); - if (bytes_written <= 0) { - std::cerr << "Failed to write to client: " << SSL_get_error(client, bytes_written) << std::endl; - } else { - std::cout << " -> Sent " << bytes_written << " bytes to client" << std::endl; - } + SSL_write(client, message.c_str(), message.length()); } } }