您能否在一个用于多播的套接字 recv 调用中获取两个数据包?

Can you get two packets in one socket recv call for multicast?

不言自明的问题。使用多播时,我们可以在一个套接字接收调用中获取多个 UDP 数据包吗?

在 UDP 套接字上使用 recvfromrecv 时,您一次只会收到一个完整的数据包。

这适用于单播和多播数据包。

recvmmsg() 系统调用是 recvmsg(2) 的扩展,允许调用者使用单个系统调用从套接字接收多条消息。 (这对某些应用程序有性能优势。)对 recvmsg(2) 的进一步扩展是支持接收操作超时。