sockets - 从 UDP 套接字读取应该使用多大的缓冲区?

标签 sockets udp size rust buffer

std::net::UdpSocket 读取数据时在 Rust 中,我们使用缓冲区:

fn recv_from(&self, buf: &mut [u8]) -> Result<(usize, SocketAddr)>

这个缓冲区应该有多大?套接字是流还是数据报?

最佳答案

您应该使用比最大预期数据报大一号的大小。这样,如果您收到那个大小的数据,您就知道存在协议(protocol)错误并且数据可能已被截断。

您将一次收到一个数据报。这不是流。

关于sockets - 从 UDP 套接字读取应该使用多大的缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36333976/

相关文章:

python - 从单个 python 脚本或 GUI 按钮运行服务器和客户端 python 脚本

iphone - 在多个 iOS 设备上同时触发事件

java - 如果服务器收到 0 作为端口号,如何中继 NAT 动态端口号?

c - Accept() 传递 Accept 的参数 3 使指针指向整数而不进行强制转换

sockets - Go http.Get 什么时候重用 tcp 连接?

c++ - UDP:客户端在服务器之前启动

erlang - 如何构建 Erlang OTP UDP 服务器

swift - 使用 cell.imageView.image 的不同大小的图像。 swift

android - 摩托罗拉 Xoom 前置摄像头(和其他设备)的 getSupportedPreviewSizes()

java - 压缩 .jar 文件以简化 Android 应用程序