XU XUv0.8.8
中文

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/.