Added HTTP server example

This commit is contained in:
Eduard Urbach 2025-02-06 14:46:33 +01:00
parent 9dcd43be46
commit 94a0e81920
Signed by: akyoto
GPG Key ID: C874F672B1AF20C0

View File

@ -9,7 +9,7 @@ struct sockaddr_in {
// Open server and client in 2 terminals:
// [1] q run examples/server
// [2] netcat 127.0.0.1 8080
// [2] curl http://127.0.0.1:8080
main() {
socket := sys.socket(2, 1, 0)
@ -31,7 +31,7 @@ main() {
delete(addr)
if sys.listen(socket, 10) != 0 {
if sys.listen(socket, 128) != 0 {
sys.write(1, "listen error\n", 13)
sys.exit(1)
}
@ -41,9 +41,8 @@ main() {
loop {
conn := sys.accept(socket, 0, 0)
if conn != -1 {
sys.write(1, "accepted\n", 9)
sys.write(conn, "Hello\n", 6)
if conn >= 0 {
sys.write(conn, "HTTP/1.1 200 OK\r\nContent-Length: 6\r\n\r\nHello\n", 44)
sys.close(conn)
} else {
sys.write(1, "error\n", 6)