文档 / 教程
15 · UDP echo
listen_packet:读一个 datagram,原样写回对端。
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)另一终端:printf ping | nc -u -w1 127.0.0.1 19001。
源码
@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
}
在独立的 examples 仓库根执行;源码位于 examples/。