我目前正在编写一个 android 应用程序,它应该使用 JmDNS 跟踪同一 wifi 网络中的其他设备。发现过程正常工作,但我不知道如何跟踪其他设备,特别是注意到它们的移除。
正如 JmDNS 设备移除检测中提到的,我似乎必须自己实现这个回调,但我不知道如何做到这一点。JmDNS Api 似乎没有提供任何自己发布服务消息的方法。
到目前为止我的想法:
- 使用发现的套接字连接来跟踪更改
- 不时使用 JmDNS.requestServiceInfo() 检查服务是否仍然可用
- 取消/注册服务+侦听器,以便他们可以再次找到彼此
有谁知道解决此问题的另一种方法或可以告诉我如何触发serviceRemoved()
回调?
PS:在采用这种方法之前,我尝试过 Androids-NSD API,它似乎很不稳定