仅搜索我的服务

Search only for my Services

我正在使用 Cling 库编写一个 upnp 应用程序。为了得到我的 Services/Server 我做了这样的事情。

public void searchForServers( ) {

    /*
        do stuff....
     */

    // Search for new devices
    getUpnpService().getControlPoint().search(new UDADeviceTypeHeader( new UDADeviceType("MyFantasticService")));
}

我原以为注册表只应包含 "MyFantasticService" 的实例,但事实证明,许多不同的 upnp 设备似乎响应了我的要求....

我是不是误解了什么?在手册中似乎很清楚如何做..

添加了我自己的过滤器,只让有效的服务传递到注册表。

"restricted" 搜索意味着您希望匹配设备来回答。但是任何设备都可以随时自由回答或实际上 "be discovered",这就是 UPnP 的工作原理。理想情况下,使用限制搜索应该可以加快发现速度(实际上没有设备制造商关心)。如果您只想使用特定服务,请在 deviceDiscovered 等回调方法中过滤 RegistryListener.