从 std::net::UdpSocket
读取数据时在 Rust 中,我们使用缓冲区:
fn recv_from(&self, buf: &mut [u8]) -> Result<(usize, SocketAddr)>
这个缓冲区应该有多大?套接字是流还是数据报?
最佳答案
您应该使用比最大预期数据报大一号的大小。这样,如果您收到那个大小的数据,您就知道存在协议(protocol)错误并且数据可能已被截断。
您将一次收到一个数据报。这不是流。
关于sockets - 从 UDP 套接字读取应该使用多大的缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36333976/