diff --git a/prak3/readme.md b/prak3/readme.md index 6710b7f1863d032b3b6685e4e67e8fe90cd5f19a..0e3c1d1fa78ed5d6003444f67a4735186ecf3ad8 100644 --- a/prak3/readme.md +++ b/prak3/readme.md @@ -1,4 +1,4 @@ -# DataTransfer 📄🚀 +# Key Value Store Server 📄🚀 A simple C++ program for **efficient block-wise reading of large files** and outputting their content to standard output. It utilizes `fread` to read data in configurable block sizes, which can be set via command-line arguments. diff --git a/prak3/src/server.cpp b/prak3/src/server.cpp index 4c05f6a8f23b449a70a64550ae9661413f7b51e2..d1711d711ae3dd918f2a0bcf84b9b38850d23119 100644 --- a/prak3/src/server.cpp +++ b/prak3/src/server.cpp @@ -220,6 +220,7 @@ std::string processRequest_shared_mtx(const std::string& request) { void handle_client(int client_socket) { + std::string response; while (true) { // warte bis der Client die Verbindung trennt @@ -242,7 +243,6 @@ void handle_client(int client_socket) { body_length = static_cast<int>(body_lenght_byte); - std::string response; if (body_length != 0) { bytes_received = 0; @@ -263,7 +263,7 @@ void handle_client(int client_socket) { // Anfragezähler inkrementieren request_count.fetch_add(1, std::memory_order_relaxed); - send(client_socket, response.c_str(), response.size(), 0); + send(client_socket, response.c_str(), response.size(), MSG_ZEROCOPY); } close(client_socket);