Improved server example
This commit is contained in:
parent
94a0e81920
commit
cae3092df7
@ -1,15 +1,15 @@
|
|||||||
import sys
|
|
||||||
|
|
||||||
struct sockaddr_in {
|
|
||||||
sin_family Int16
|
|
||||||
sin_port Int16
|
|
||||||
sin_addr Int64
|
|
||||||
sin_zero Int64
|
|
||||||
}
|
|
||||||
|
|
||||||
// Open server and client in 2 terminals:
|
// Open server and client in 2 terminals:
|
||||||
// [1] q run examples/server
|
// [1] q run examples/server
|
||||||
// [2] curl http://127.0.0.1:8080
|
// [2] curl http://127.0.0.1:8080
|
||||||
|
import sys
|
||||||
|
|
||||||
|
struct sockaddr_in {
|
||||||
|
sin_family Int16
|
||||||
|
sin_port Int16
|
||||||
|
sin_addr Int64
|
||||||
|
sin_zero Int64
|
||||||
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
socket := sys.socket(2, 1, 0)
|
socket := sys.socket(2, 1, 0)
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ main() {
|
|||||||
conn := sys.accept(socket, 0, 0)
|
conn := sys.accept(socket, 0, 0)
|
||||||
|
|
||||||
if conn >= 0 {
|
if conn >= 0 {
|
||||||
sys.write(conn, "HTTP/1.1 200 OK\r\nContent-Length: 6\r\n\r\nHello\n", 44)
|
sys.write(conn, "HTTP/1.0 200 OK\r\nContent-Length: 6\r\n\r\nHello\n", 44)
|
||||||
sys.close(conn)
|
sys.close(conn)
|
||||||
} else {
|
} else {
|
||||||
sys.write(1, "error\n", 6)
|
sys.write(1, "error\n", 6)
|
||||||
|
@ -12,4 +12,8 @@ bind(fd Int, address Pointer, length Int) -> Int {
|
|||||||
|
|
||||||
listen(fd Int, backlog Int) -> Int {
|
listen(fd Int, backlog Int) -> Int {
|
||||||
return syscall(50, fd, backlog)
|
return syscall(50, fd, backlog)
|
||||||
|
}
|
||||||
|
|
||||||
|
setsockopt(fd Int, level Int, optname Int, optval Pointer, optlen Int) -> Int {
|
||||||
|
return syscall(54, fd, level, optname, optval, optlen)
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user