繁体   English   中英

哪种缓冲区大小足以满足Recvfrom的UDP情况?

[英]what size of the buffer is sufficient for UDP case of recvfrom?

我正在使用recvfrom来接收udp组播数据。 据我所知,它在呼叫中接收的数据报不超过1个(是吗?)。 那么,什么大小的缓冲区足以满足此类调用要求? 我想这应该是这台机器的UDP〜MTU,但是如何在运行时知道它呢?

我不想“高估”缓冲区的大小,因为我实际上在场景下有缓冲区的环形缓冲区,并且我不想花太多的额外内存。

UDP数据报的最大大小为64k。 除非您分配大量缓冲区,否则请使用此大小。

IPv4 UDP数据报有效负载的最大大小为65507字节,但是除了通过环回,您将无法获得它们。 在实际网络中,您能做的最好的事情就是MTU减28。不带碎片的公认的实际限制是534个字节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM