From d8036aa78139c7890d8adde6ee937929623dbffb Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Thu, 19 Nov 2020 18:53:48 +0100 Subject: Reimplemented basic webserver --- apps/Makefile | 2 +- apps/server.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 apps/server.c (limited to 'apps') diff --git a/apps/Makefile b/apps/Makefile index ea212d9..8f0e150 100644 --- a/apps/Makefile +++ b/apps/Makefile @@ -1,6 +1,6 @@ # MIT License, Copyright (c) 2020 Marvin Borner -COBJS = init.o wm.o mandelbrot.o window.o exec.o files.o test.o cc.o browser.o +COBJS = init.o wm.o mandelbrot.o window.o exec.o files.o test.o cc.o browser.o server.o CC = ccache ../cross/opt/bin/i686-elf-gcc LD = ccache ../cross/opt/bin/i686-elf-ld OC = ccache ../cross/opt/bin/i686-elf-objcopy diff --git a/apps/server.c b/apps/server.c new file mode 100644 index 0000000..646e876 --- /dev/null +++ b/apps/server.c @@ -0,0 +1,28 @@ +// MIT License, Copyright (c) 2020 Marvin Borner + +#include +#include +#include +#include + +#define PORT 8000 +#define RESP "HTTP/1.1 200\r\nContent-Length: 14\r\nConnection: close\r\n\r\n

Hallo

" + +int main() +{ + printf("Server running on port %d\n", PORT); + + while (1) { + struct socket *socket = net_open(S_TCP); + assert(socket); + socket->src_port = PORT; + socket->state = S_CONNECTED; + char buf[4096] = { 0 }; + net_receive(socket, buf, 4096); + printf("%s\n", buf); + net_send(socket, strdup(RESP), strlen(RESP)); + /* net_close(socket); // TODO: Fix */ + } + + return 0; +} -- cgit v1.2.3