aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSyndamia <kamen@syndamia.com>2023-12-07 11:07:10 +0200
committerSyndamia <kamen@syndamia.com>2023-12-07 11:07:10 +0200
commitcfe9c789e53f470c35f3a6c0d8a6176f74df3c13 (patch)
tree7308222600de9a82eed678096f45feeee859dfc1
parentbba64eb044562a88b7f93ab62eef62ea4fbb5cb4 (diff)
downloadpico-web-cfe9c789e53f470c35f3a6c0d8a6176f74df3c13.tar
pico-web-cfe9c789e53f470c35f3a6c0d8a6176f74df3c13.tar.gz
pico-web-cfe9c789e53f470c35f3a6c0d8a6176f74df3c13.zip
[server,browser] Rough file transmission
-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!