Files
hanabi/src/server.odin
T
2026-05-24 20:09:54 +02:00

40 lines
841 B
Odin

package hanabi
import "core:fmt"
import "core:net"
Comm_World :: struct {
sockets: [dynamic]net.TCP_Socket,
}
create_socket :: proc(addr_str: string) -> (net.TCP_Socket, bool) {
addr, endpoint_ok := net.parse_endpoint(addr_str)
if !endpoint_ok {
fmt.eprintln("failed to parse endpoint")
return 0, false
}
sock, dial_error := net.listen_tcp(addr)
if dial_error != nil {
fmt.eprintln(addr_str, dial_error)
return 0, false
}
return sock, true
}
create_comm_world :: proc(addresses: []string) -> (comm: Comm_World) {
for addr_str in addresses {
sock, ok := create_socket(addr_str)
if !ok do panic(fmt.tprintfln("%s: failed to create socket", addr_str))
append(&comm.sockets, sock)
}
return
}
run_server :: proc(players: []net.Endpoint) {
fmt.println("hello from server")
for p in players {
fmt.println(p)
}
}