2025-02-06 17:11:57 +01:00
|
|
|
// Open server and client in 2 terminals:
|
|
|
|
// [1] q run examples/server
|
|
|
|
// [2] curl http://127.0.0.1:8080
|
2025-02-09 14:14:41 +01:00
|
|
|
import io
|
2025-02-08 17:34:11 +01:00
|
|
|
import net
|
2025-02-06 12:49:17 +01:00
|
|
|
import sys
|
|
|
|
|
|
|
|
main() {
|
|
|
|
socket := sys.socket(2, 1, 0)
|
|
|
|
|
|
|
|
if socket < 0 {
|
2025-02-09 14:14:41 +01:00
|
|
|
io.error("socket error\n")
|
2025-02-06 12:49:17 +01:00
|
|
|
sys.exit(1)
|
|
|
|
}
|
|
|
|
|
2025-02-08 23:59:19 +01:00
|
|
|
if net.bind(socket, 8080) != 0 {
|
2025-02-09 14:14:41 +01:00
|
|
|
io.error("bind error\n")
|
2025-02-06 12:49:17 +01:00
|
|
|
sys.exit(1)
|
|
|
|
}
|
|
|
|
|
2025-02-06 14:46:33 +01:00
|
|
|
if sys.listen(socket, 128) != 0 {
|
2025-02-09 14:14:41 +01:00
|
|
|
io.error("listen error\n")
|
2025-02-06 12:49:17 +01:00
|
|
|
sys.exit(1)
|
|
|
|
}
|
|
|
|
|
2025-02-09 14:14:41 +01:00
|
|
|
io.out("listening...\n")
|
2025-02-06 12:49:17 +01:00
|
|
|
|
|
|
|
loop {
|
|
|
|
conn := sys.accept(socket, 0, 0)
|
|
|
|
|
2025-02-06 14:46:33 +01:00
|
|
|
if conn >= 0 {
|
2025-02-09 14:14:41 +01:00
|
|
|
io.write(conn, "HTTP/1.0 200 OK\r\nContent-Length: 6\r\n\r\nHello\n")
|
2025-02-06 12:49:17 +01:00
|
|
|
sys.close(conn)
|
|
|
|
} else {
|
2025-02-09 14:14:41 +01:00
|
|
|
io.error("accept error\n")
|
2025-02-06 12:49:17 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|