我正在尝试获取通过 udp 发送到我的 Mac 上的端口 20777 的数据。使用 netcat 运行侦听器,我能够接收数据:
nc -u -l 0.0.0.0 20777
。
但是,以下 Rust 代码挂在
recv_from
...
use std::net::UdpSocket;
use bytebuffer::ByteBuffer;
let socket = UdpSocket::bind("0.0.0.0:20777").expect("Failed to bind to port!");
loop {
let mut buf = [0; 2048];
match socket.recv_from(&mut buf) {
Ok((size, _addr)) => {
println!("Got {} bytes", size);
}
Err(_) => println!("Failed")
}
}
什么可能导致此问题...
我在我的Mac上测试了@cafce25发送的代码。它在操场上完美运行,但在本地则不然。我的程序中也有同样的问题,必须对其进行 dockerize 才能使其工作