我正在使用recvfrom
来接收udp组播数据。据我所知,它在调用中接收的数据报不超过1个(这是正确的吗?)。那么这个调用的缓冲区大小是多少呢?我想它应该是〜这台机器的UDP MTU,但我怎么能在运行时知道呢?
我不想“高估”缓冲区的大小,因为我实际上在场景下有缓冲区的环缓冲区,而且我不想花太多额外的内存。
答案 0 :(得分:0)
UDP数据报的最大大小为64k。除非您分配大量缓冲区,否则只需使用此大小。
答案 1 :(得分:0)
IPv4 UDP数据报有效负载的最大大小为65507字节,但除了通过环回之外,您不会获得它们。在真实网络中你可以做的最好的是MTU减去28.普遍接受的没有碎片的实际限制是534字节。