我有一个正在广播 UDP 数据包的线程。我有另一个正在收听相同广播的线程。这样我的应用程序就可以检测网络上的其他实例。但是我有一个问题,当一个实例广播时,它会自行选择并认为它本身是另一个节点。我的问题是您如何可靠地确定数据包来自您自己,以便可以忽略它?我说可靠是因为我知道您可以在您的套接字上调用 setLoopbackMode(true) 来防止环回,但根据 api 文档,这种方法并不总是有效?
最佳答案
检查源 IP 地址。 如果它相当于您自己的地址,请丢弃包裹。如果您无法确定从哪个接口(interface)发送,请务必检查所有可能的源地址。
关于JAVA:广播UDP数据包时检测 self ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9655279/