First commit

This commit is contained in:
2026-09-06 17:43:06 +03:00
commit 0fe9114117
10 changed files with 278 additions and 0 deletions

29
ch1/TCPServerUtility.c Normal file
View File

@@ -0,0 +1,29 @@
#include <sys/socket.h>
#include <unistd.h>
#include "Practical.h"
void HandleTCPClient(const int client_sock) {
char buffer[BUFSIZE];
ssize_t num_bytes_rcvd = recv(client_sock, buffer, BUFSIZE, 0);
if (num_bytes_rcvd < 0) {
DieWithSystemMessage("recv() failed");
}
while (num_bytes_rcvd > 0) {
ssize_t num_bytes_sent = send(client_sock, buffer, num_bytes_rcvd, 0);
if (num_bytes_sent < 0) {
DieWithSystemMessage("send() failed");
} else if (num_bytes_sent != num_bytes_rcvd) {
DieWithUserMessage("send()", "sent unexpected number of bytes");
}
num_bytes_rcvd = recv(client_sock, buffer, BUFSIZE, 0);
if (num_bytes_rcvd < 0) {
DieWithSystemMessage("recv() failed");
}
}
close(client_sock);
}