aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--browser.c9
-rw-r--r--server.c13
-rw-r--r--test.txt1
3 files changed, 18 insertions, 5 deletions
diff --git a/browser.c b/browser.c
index 0575126..1fae5c6 100644
--- a/browser.c
+++ b/browser.c
@@ -7,6 +7,7 @@
#include <unistd.h>
#include <stdio.h>
+#include <string.h>
#include <util.h>
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 <unistd.h>
#include <stdio.h>
+#include <fcntl.h>
+#include <string.h>
#include <util.h>
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!