有没有办法在局域网内发送一个 UDP 数据包,以便每台机器都能接收到它?(当然不能保证,因为它的 UDP)。
比如,发送一个请求“你好,有人在吗?” 然后听取回应?
我发送和接收没有问题,只是想知道除了尝试每个IP地址之外是否还有其他方法......
编辑:这是我目前使用的:
...
multicastSocket = new MulticastSocket();
multicastSocket.setBroadcast(true);
broadcastGroup = InetAddress.getByName("255.255.255.255");
// multicastSocket.joinGroup(broadcastGroup);
...
最后一行代码被注释掉,因为它抛出了一个异常。现在我已经读到将数据包发送到 255.255.255.255 是“多年来不推荐使用的”,并且很可能无法在许多 LAN 上工作。另外,我不确定我是否甚至需要一个MulticastSocket
为此或者正常DatagramSocket
是否也可以工作。但无论如何,现在发送 UDP 广播的首选方式是什么?