【问题标题】:Is it possible to receive UDP datagrams from two different sources?是否可以从两个不同的来源接收 UDP 数据报?
【发布时间】:2012-12-26 15:08:49
【问题描述】:

我正在使用 VC++ 2010 和 Windows 7。

我有两个 UDP 源,只有一个接收器。假设 source1 发送:1、3、5 和 source2 发送 2、4、6。我想在同一个函数中接收 1、2、3、4、5、6(数字顺序无关紧要)。到现在为止,我做了 2 个套接字监听 2 个不同的端口来接收数据,然后将它们组合起来。

如何使用单个套接字实例接收来自多个来源的 UDP 流量?

【问题讨论】:

    标签: sockets visual-c++ winsock2


    【解决方案1】:

    在接收端创建一个套接字并将其绑定到某个端口。然后让两个发件人在调用sendto 的目标地址中指定此端口。这应该可以解决问题。

    在使用 UDP 时,您应该记住几件事。未指定数据报到达的顺序。您也不知道是否有任何数据报未交付。此外,您甚至可能会多次收到重复的数据报。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-26
      • 1970-01-01
      • 1970-01-01
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 2018-10-23
      相关资源
      最近更新 更多