如何连接多个Datagram Socket并发送消息

How to connect muliple DatagramSocket and send messages

假设我有一个客户端可以在以下地址上收听多播消息:

127.0.0.1:1231
127.0.0.2:1232
127.0.0.3:1233
127.0.0.4:1234

目前,我正在做的是在 127.0.0.1:1231 上发送消息,客户端可以正常处理。

但我也希望能够通过其他 IP 发送消息(甚至通过同时在不同地址上发送消息来提升它)。

我的方法是创建 4 个 DatagramSockets 并将它们放在一个列表中。然后在一个循环中,我会随机选择一个 DatagramSocket,连接并发送消息。

是否有better/smarter方法来做到这一点?

您可以使用一个套接字发送到所有这些地址。在流程的整个生命周期内保持打开状态;不要绑定它;并且不要连接它:每次将目标地址放入DatagramPacket