aboutsummaryrefslogtreecommitdiff
path: root/apps/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/server.c')
-rw-r--r--apps/server.c28
1 files changed, 28 insertions, 0 deletions
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 <assert.h>
+#include <net.h>
+#include <print.h>
+#include <str.h>
+
+#define PORT 8000
+#define RESP "HTTP/1.1 200\r\nContent-Length: 14\r\nConnection: close\r\n\r\n<h1>Hallo</h1>"
+
+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;
+}