Как сделать устройство или компьютер совместимым с upnp

Как компьютер может идентифицировать устройство или другой компьютер с помощью upnp (или аналогичного протокола)?

Мне нужна программа C # на машине с Windows, которая может обнаруживать устройства upnp в сети или прямое соединение? (Это должно быть самое легкое)

Но что делать на другой машине?

case1: машина поддерживает upnp

case2: машина еще не поддерживает upnp

Вы можете мне помочь с двумя делами?


person Gobliins    schedule 28.09.2012    source источник
comment
Чего вы пытаетесь достичь? Обнаружение - это только первый шаг в протоколе UPnP. Какая другая машина? UPnP не знает машин, но специально определяет протоколы управления устройствами. Какие протоколы и службы вы ожидаете от другого компьютера?   -  person Pavel Zdenek    schedule 29.09.2012
comment
Windows обычно поддерживает upnp, поэтому у вас есть ПК с Windows. Теперь у вас есть устройство, которое вы хотите подключить к компьютеру через upnp. Устройство - это другая машина.   -  person Gobliins    schedule 30.09.2012
comment
Я хочу знать, какие шаги я должен предпринять, если устройство уже поддерживает upnp или если устройство не поддерживает upnp. Должен ли я реализовать клиент или сервер upnp или какой-либо демон, или есть предварительно созданные демоны upnp, которые я могу использовать.   -  person Gobliins    schedule 30.09.2012
comment
Чего вы пытаетесь достичь? я хочу сделать устройство совместимым с upnp   -  person Gobliins    schedule 30.09.2012


Ответы (1)


случай 1: машина появится при обнаружении устройств, инициированном с ПК. Да, Windows «обычно поддерживает upnp», но на нем нет общего приложения для обнаружения. Проигрыватель Windows Media - это специализированное средство обнаружения UPnP, построенное на основе Windows UPnP, но оно найдет вам только MediaRenderers. Вы не ответили на мой вопрос, какие службы вы хотите найти на «другой машине». Вы можете использовать DeviceSpy из инструментов разработки Intel UPnP. Работает в Windows, но не использует стек Windows UPnP - у него есть собственный. Кажется, есть несколько полезных фреймворков, построенных на основе Windows UPnP, которая довольно проста.

случай 2: существует множество библиотек UPnP, построенных только на низкоуровневых возможностях ОС, таких как сокеты и файловая система. Даже уже упомянутые инструменты разработки Intel UPnP могут сгенерировать за вас стек. Но вам нужно определиться хотя бы с языком, на котором вы хотите его реализовать. Затем погуглите "UPnP Java" или "UPnP C ++" или что-то еще.

person Pavel Zdenek    schedule 01.10.2012
comment
Спасибо. Язык будет C. И я просто хочу получить IP другой машины (думаю, мне понадобится только ssdp). - person Gobliins; 02.10.2012