所以我遇到了我认为不应该发生的问题。我在两台不同的计算机A和B上打开程序。我看到已添加了服务,并且两个IP都调用了serviceResolved()
。他们是正确的。我关闭了B程序,该程序调用{{1}}。在A程序上,我看到jmdns.close();
被调用。因此,到目前为止,程序的状态是B已关闭,不再运行。 A正在运行。 2-5分钟后,即使A尚未运行并关闭,A也会再次解析B IP。
我觉得问题与某种缓存有关,当它重新评估时或只是重新解决了服务问题,但我不确定。
我还应该补充一点,在计算机A上,serviceRemoved()
方法仅调用serviceRemoved()
。
有没有人以前看过这个,或者知道发生了什么以及如何解决?
我并没有为服务实现做任何疯狂的事情,只是遵循jmdns github上的示例。