Docs / Tutorial
15 · UDP echo
listen_packet: read one datagram, write it back to the peer.
mut c := net.listen_packet("udp", "127.0.0.1:19001") or (err) { << 1 }
pkt := c.read_from(4096) or (err) { -> }
c.write_to(&pkt.data, &pkt.addr)From another terminal: printf ping | nc -u -w1 127.0.0.1 19001.
Source
@main
#net
// UDP echo。
// printf ping | nc -u 127.0.0.1 19001
// TCP 见 14tcp_echo。
fn main() int {
mut c := net.listen_packet("udp", "127.0.0.1:19001") or (err) {
println(err.msg())
<< 1
}
println("udp://127.0.0.1:19001 echo")
mut running := true
while running {
pkt := c.read_from(4096) or (err) {
->
}
data := pkt.data + ""
c.write_to(&data, &pkt.addr) or (err) {
->
}
}
<< 0
}
Run from the separate examples repository root; source files live under examples/.