问题标签 [android-nsd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 无法注册 NSD 服务
我正在尝试与 NSD 合作,但我发现自己一开始就陷入困境。
我用一个大按钮设置了一个非常基本的布局。此按钮的目的是在我的设备上启动和注册服务,以便其他设备能够通过 LAN 连接到它。在我唯一的 Activity 中按一下所述按钮会调用以下方法:
在DevBytes:网络服务发现视频之后,我实现了上面调用的方法,如下所示(请原谅我的 YOLO-ing 用于调试目的):
我的问题是我不断陷入onUnregistrationFailed
返回码 = 0 的侦听器方法。
当我按下所述按钮时,您会在下面找到 Logcat 条目:
我在这里遗漏了一些明显的东西吗?
谢谢您的帮助 !
android - Android:在父进程突然退出后停止 Bonjour 服务继续运行
我的应用程序本质上是一个后台服务,需要偶尔注册一个NSD
服务(Bonjour
服务),以便能够发现由主后台服务(也就是应用程序运行)运行的套接字服务器。
如果我正确阅读了Android Bonjour Service 文档,这就是您启动Bonjour
服务的方式(为简洁起见):
...这就是你阻止它的方式:
这是我无法理解的部分:如果主服务突然关闭,Bonjour
那么在崩溃时注册的任何服务都会继续运行,即使它不再有目的(它帮助发现的套接字服务器不是更长的时间)。
Bonjour
当主服务重新启动时,我无法清理僵尸服务,因为mRegistrationListener
最初注册的服务也不再存在。
我怀疑我采取了错误的方法:如何确保Bonjour
在主服务崩溃后不会留下一堆僵尸服务?
android - Bonjour发现幽灵服务发现
我开发了一个使用 Bonjour 服务进行通信的简单应用程序。我遵循了 Apple 和 Android 的文档,一切正常。
现在我发现如果设备失去 wifi 连接,发现设备不会收到丢失服务的通知,新发现会找到这个(幽灵)服务。
根据Apple 文档(第 4 点),它可能会发生,如果您想确保该服务仍然存在,您必须“重新确认”DNS 记录。要在 iOS 中执行此操作,您必须使用DNSServiceReconfirmRecord,并且它可以工作。
现在我也必须在 Android 上解决这个问题,但我找不到 API(或任何解决方法)。
有没有人处理过这个问题?
android-nsd - 为什么在 stopServiceDiscovery 时不将 clientInfo.mResolvedService 设置为 null
clientInfo.mResolvedService 在服务解析开始时创建,在服务解析完成时设置为 null。
如果出于某种意外原因,服务解析永远不会完成,那么任何解析服务的调用都将始终返回 FAILURE_ALREADY_ACTIVE。
为什么在 stopServiceDiscovery 时不将 clientInfo.mResolvedService 设置为 null?