From cfe9c789e53f470c35f3a6c0d8a6176f74df3c13 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Thu, 7 Dec 2023 11:07:10 +0200 Subject: [server,browser] Rough file transmission --- browser.c | 9 +++++++-- server.c | 13 ++++++++++--- test.txt | 1 + 3 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 test.txt diff --git a/browser.c b/browser.c index 0575126..1fae5c6 100644 --- a/browser.c +++ b/browser.c @@ -7,6 +7,7 @@ #include #include +#include #include int main(int argc, char* argv[]) { @@ -21,12 +22,16 @@ int main(int argc, char* argv[]) { herr(connect(fd_socket, (struct sockaddr*)&sa_server, sizeof(struct sockaddr_in)), "connect"); - char msg[] = "Hello from browser"; + char msg[] = "test.txt"; write(fd_socket, msg, sizeof(msg)); char buff[256]; + memset(buff, 0, sizeof(buff)); + while (read(fd_socket, buff, 256)) { + write(1, buff, strlen(buff)); + memset(buff, 0, sizeof(buff)); + } read(fd_socket, buff, 256); - printf("Received: %s\n", buff); close(fd_socket); } diff --git a/server.c b/server.c index 54611c8..c7e3672 100644 --- a/server.c +++ b/server.c @@ -6,7 +6,9 @@ #include #include +#include +#include #include int main(int argc, char* argv[]) { @@ -30,10 +32,15 @@ int main(int argc, char* argv[]) { char buff[256]; read(fd_client, buff, 256); - printf("Received: %s\n", buff); - char response[] = "Server received message!"; - write(fd_client, response, sizeof(response)); + int fd; + herr(fd = open(buff, O_RDONLY), "open"); + memset(buff, 0, sizeof(buff)); + while (read(fd, buff, 256)) { + write(fd_client, buff, strlen(buff)); + memset(buff, 0, sizeof(buff)); + } + close(fd); close(fd_socket); } diff --git a/test.txt b/test.txt new file mode 100644 index 0000000..10ddd6d --- /dev/null +++ b/test.txt @@ -0,0 +1 @@ +Hello! -- cgit v1.2.3