Я пишу приложение upnp, используя библиотеку Cling. Чтобы получить мои услуги/сервер, я делаю что-то вроде этого.Искать только для моих услуг
public void searchForServers() {
/*
do stuff....
*/
// Search for new devices
getUpnpService().getControlPoint().search(new UDADeviceTypeHeader(new UDADeviceType("MyFantasticService")));
}
я ожидал, что реестр должен содержать только экземпляры «MyFantasticService», но оказывается, что много различных устройств UPNP, кажется, ответить на мой звонок ....
ли я понял что-то здесь ? Кажется довольно ясным, как это сделать в руководстве.
Просто потому, что это стандарт, не ожидайте, что он будет правильно реализован на каждом устройстве. Я видел, как лошади пахают (как мы это хотели сказать) с реализацией RTSP на камерах ... Итак, если вы уверены, что ** вы делаете все так, как вам нужно, шансы на то, что устройства этого не делают. В этом случае снова проверьте результаты и устраните ложные срабатывания. В любом случае вы не должны верить в ввод такого рода. – Fildor
Да, я думал в этом направлении. –
Получение _lots_ разных ответов указывает на проблему на вашей стороне. Как и все UPnP, я предлагаю проверить фактический сетевой трафик с помощью wirehark или аналогичного. Убедитесь, что сообщение M-SEARCH правильно установлено на проводе. – jku