我需要做一个重要的测试。测试条件如下:
我正在使用winsock,我有2个UDP套接字(Sock-A和Sock-B),它们带有SO_REUSEADDR选项,它们都绑定到一台PC上的端口1000。 它们都将UDP数据包传输到另一个套接字(Sock-C),而位于不同LAN的Sock-C接收它们的消息。
Sock-C用一些消息回应他们,但不幸的是我只能看到Sock-A(已经早点打开)只是收到消息,而Sock-B并没有得到任何东西。当我关闭Sock-A时,我可以看到Sock-B开始接收消息。
你们中的任何人都知道如何让Sock-A和Sock-B都接收来自Sock-C的消息?
谢谢〜
答案 0 :(得分:0)
这是正常行为。我认为这不能通过在同一端口上监听2个套接字来完成。
为什么要将2个套接字绑定到同一个端口?
在linux中它甚至会尝试在2个套接字之间均匀分布数据报,因此它是随机的。您需要更改发送/接收数据包的方式。