【问题标题】:Can you get two packets in one socket recv call for multicast?您可以在一个套接字接收两个数据包的多播调用中获得两个数据包吗?
【发布时间】:2020-03-25 18:36:03
【问题描述】:

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

【问题讨论】:

    标签: c sockets networking udp multicast


    【解决方案1】:

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

    【讨论】:

    • 这可能是有用的信息,但似乎问题是关于 recv 调用。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-05
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 2011-12-05
      • 2011-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多