我正在使用recvfrom接收udp多播数据。据我所知,它在调用中接收的数据报不超过1个(正确吗?)。那么,多大的缓冲区大小才足以进行这样的调用呢?我猜这台机器应该是~ UDP的MTU,但是我怎么在运行时知道它呢?
我不想“高估”缓冲区的大小,因为我实际上在场景下有缓冲区的环形缓冲区,我不想花费太多额外的内存。
发布于 2013-05-01 16:57:14
UDP数据报的最大大小为64k。除非你分配了很多缓冲区,否则就使用这个大小。
发布于 2013-05-01 17:58:51
IPv4 UDP数据报有效载荷的最大大小是65507字节,但是除了通过环回之外,您将无法获得它们。在真实的网络中,你能做的最好的事情就是MTU减28。通常接受的没有碎片的实际限制是534字节。
https://stackoverflow.com/questions/16307489
复制相似问题