Skip to content
Snippets Groups Projects
Commit 0bffabf8 authored by Saif Eddine Askri's avatar Saif Eddine Askri
Browse files

Refactor client handling to read data byte-by-byte until a delimiter is...

Refactor client handling to read data byte-by-byte until a delimiter is encountered, improving request processing reliability.
parent fd934fe8
No related branches found
No related tags found
No related merge requests found
......@@ -226,15 +226,25 @@ std::string processRequest_shared_mtx(const std::string& request) {
}
void handle_client(int client_socket) {
char buffer[BUFFER_SIZE] = {0};
while (true) {
ssize_t bytes_received = read(client_socket, buffer, BUFFER_SIZE - 1);
if (bytes_received <= 0) {
std::cout << "Client disconnected." << std::endl;
break;
ssize_t bytes_received = 0;
ssize_t total_bytes_received = 0;
while (true) {
bytes_received = read(client_socket, buffer + total_bytes_received, 1);
if (bytes_received <= 0) {
std::cout << "Client disconnected." << std::endl;
return;
}
total_bytes_received += bytes_received;
if (buffer[total_bytes_received - 1] == ';') {
break;
}
}
buffer[bytes_received] = '\0';
std::string response = processRequest_shared_mtx(buffer);
// Anfragezähler inkrementieren
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment