我正在使用Cling库编写upnp应用程序。为了获得我的服务/服务器,我做了类似的事情。
public void searchForServers( ) {
/*
do stuff....
*/
// Search for new devices
getUpnpService().getControlPoint().search(new UDADeviceTypeHeader( new UDADeviceType("MyFantasticService")));
}
我原本以为注册表只应该包含“MyFantasticService”的实例,但事实证明很多不同的upnp设备似乎都在接听我的电话....
我在这里误解了什么吗?似乎很清楚如何在手册中做..
答案 0 :(得分:0)
添加了我自己的过滤器,只让有效的服务传递给注册表。
答案 1 :(得分:0)
“受限制”搜索意味着您希望匹配设备进行回答。但是任何设备都可以随时自由回答或者实际上“被发现”,这正是UPnP的工作原理。使用限制搜索应该可以加速发现,理想情况下(实际上没有设备制造商关心)。如果您只想使用特定服务,请使用deviceDiscovered
中的RegistryListener
等回调方法进行过滤。