2

我正在使用 android 的 cling 库来定位和控制我的 WiFi 网络中的其他移动设备。我已经下载并导入(在 Eclipse 中)Cling Browser 和 Cling Switch Power Examples,它们工作正常,直到我从远程设备退出 Switch power 应用程序并重新启动它。

之后,它就再也不会在 Cling Browser App 中看到了。使设备再次出现在浏览器中的唯一方法是从 android 设置的应用程序菜单中强制停止电源开关应用程序并重新启动它。

AndroidUpnpServiceImpl 是否有可能没有正确关闭?我尝试先解除绑定,然后使用 stopService() 停止服务,但仍然没有。
我已经在几台设备上进行了测试,都使用 Android 4.1 和 4.4。我注意到了同样的行为。难道我做错了什么?

先感谢您

我忘了说我可以看到 UPnPServiceImpl 的日志:
>>> 正在关闭 UPnP 服务...
<<< UPnP 服务关闭完成
,这表明该服务必须已正确关闭。

4

1 回答 1

0

我找到了一些解决方案,但不幸的是,紧贴库中出现了一些问题。我的一些同事进行了修复,我无法共享“补丁库”,也不清楚哪些更改受到了影响。我们使用了一个补丁版本:cling-distribution-2.0.1

那么可能使用最新的库它也已经修复了吗?祝你好运!你已经用 2.0.1 测试过了吗?

所以问题是:从库代码成功运行:

07-17 17:53:23.205  14826-14826/ I/DatagramIO﹕ Creating bound socket (for datagram input/output) on: 192.168.1.110/192.168.1.110
    07-17 17:53:23.205  14826-14826/ I/StreamServer﹕ Setting executor service on servlet container adapter
    07-17 17:53:23.205  14826-14826/ I/StreamServer﹕ Adding connector: 109.46.235.174/109.46.235.174:0
    07-17 17:53:23.205  14826-14826/ D/libc-netbsd﹕ [getaddrinfo]: hostname=xxxxx; servname=(null); cache_mode=(null), netid=0; mark=0
    07-17 17:53:23.205  14826-14826/ D/libc-netbsd﹕ [getaddrinfo]: ai_addrlen=0; ai_canonname=xxxxx; ai_flags=4; ai_family=0
    07-17 17:53:23.205  14826-14826/ I/pnpServiceConfiguration﹕ Thread pool rejected execution of class org.eclipse.jetty.server.AbstractConnector$Acceptor
    07-17 17:53:23.205  14826-14826/ W/System.err﹕ 2015-07-17 17:53:23.215:INFO:oejs.AbstractConnector:Started SocketConnector@109.46.235.174:60087
    07-17 17:53:23.205  14826-14826/ I/DatagramIO﹕ Creating bound socket (for datagram input/output) on: 109.46.235.174/109.46.235.174
    07-17 17:53:23.205  14826-14826/ I/StreamClient﹕ Starting Jetty HttpClient...
    07-17 17:53:23.205  14826-14826/ I/Router﹕ WiFi multicast lock acquired
    07-17 17:53:23.205  14826-14826/ I/Router﹕ Created WiFi lock, mode: 3
    07-17 17:53:23.205  14826-14826/ I/Router﹕ WiFi lock acquired
    07-17 17:53:23.215  14826-14826/ I/UpnpServiceImpl﹕ <<< UPnP service started successfully

错误运行是这样的:

07-17 17:53:23.205  14826-14826/ I/StreamClient﹕ Starting Jetty HttpClient...
07-17 17:53:23.205  14826-14826/ I/Router﹕ WiFi multicast lock acquired
07-17 17:53:23.205  14826-14826/ I/Router﹕ Created WiFi lock, mode: 3
07-17 17:53:23.205  14826-14826/ I/Router﹕ WiFi lock acquired
07-17 17:53:23.205  14826-14826/ I/DatagramIO﹕ Creating bound socket (for datagram input/output) on: 192.168.1.110/192.168.1.110
    07-17 17:53:23.205  14826-14826/ I/StreamServer﹕ Setting executor service on servlet container adapter
    07-17 17:53:23.205  14826-14826/ I/StreamServer﹕ Adding connector: 109.46.235.174/109.46.235.174:0
    07-17 17:53:23.205  14826-14826/ D/libc-netbsd﹕ [getaddrinfo]: hostname=xxxxx; servname=(null); cache_mode=(null), netid=0; mark=0
    07-17 17:53:23.205  14826-14826/ D/libc-netbsd﹕ [getaddrinfo]: ai_addrlen=0; ai_canonname=xxxxx; ai_flags=4; ai_family=0
    07-17 17:53:23.205  14826-14826/ I/pnpServiceConfiguration﹕ Thread pool rejected execution of class org.eclipse.jetty.server.AbstractConnector$Acceptor
    07-17 17:53:23.205  14826-14826/ W/System.err﹕ 2015-07-17 17:53:23.215:INFO:oejs.AbstractConnector:Started SocketConnector@109.46.235.174:60087
    07-17 17:53:23.205  14826-14826/ I/DatagramIO﹕ Creating bound socket (for datagram input/output) on: 109.46.235.174/109.46.235.174
    07-17 17:53:23.215  14826-14826/ I/UpnpServiceImpl﹕ <<< UPnP service started successfully
于 2015-07-14T12:18:55.750 回答