我正在使用 recvfrom
接收 udp 多播数据。据我所知,它在通话中收到的数据报不超过 1 个(正确吗?)。那么这样的调用需要多大的缓冲区大小?我猜它应该是这台机器的 UDP 的 ~MTU,但我怎么能在运行时知道它呢?
我不想“高估”缓冲区的大小,因为我实际上在场景下有缓冲区的环形缓冲区,我不想花费太多额外的内存。
最佳答案
UDP 数据报的最大大小为 64k。除非您要分配大量缓冲区,否则请使用此大小。
关于c++ - 对于 recvfrom 的 UDP 情况,缓冲区的大小是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16307489/