23 lines
651 B
Plaintext
23 lines
651 B
Plaintext
include "std/io.zr"
|
|
include "std/net.zr"
|
|
|
|
func main[] : i64
|
|
~s, ok := net.create_udp_server("127.0.0.1", 8000)
|
|
if !ok
|
|
panic("net.create_udp_server failed")
|
|
|
|
io.println("Listening on port 8000...")
|
|
while true
|
|
pkt := s->receive(IP_MAXPACKET)
|
|
if pkt->size <= 0
|
|
pkt->free()
|
|
continue
|
|
|
|
io.printf("%d.%d.%d.%d:%d\n", pkt->source_addr[4], pkt->source_addr[5], pkt->source_addr[6], pkt->source_addr[7], mem.read16be(pkt->source_addr + 2))
|
|
|
|
io.print_sized(pkt->data, pkt->size)
|
|
io.println("")
|
|
|
|
s->send_to(pkt->source_addr, pkt->data, pkt->size)
|
|
pkt->free()
|