是否可以从两个不同的来源接收UDP数据报?

时间:2012-12-26 15:08:50

标签: sockets visual-c++ winsock2

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

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

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

1 个答案:

答案 0 :(得分:4)

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

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