2010-07-12 21 views
22

¿Existe una biblioteca para implementar el descubrimiento y publicación de servicios a través de UPnP?Biblioteca UPnP para Java

(Estoy tratando de encontrar algunas alternativas a JmDNS que, si bien el protocolo en cuanto trabajó bien para nuestros propósitos, era muy inestable como una biblioteca, que tiene una inaceptable mala tendencia de deadlocking sí mismo.)

+1

También puede probar: http://sourceforge.net/projects/cgupnpjava/ – lordhong

+0

Creo que fija Todos los callejones sin salida que se ha encontrado en JmDNS, pero tiene problemas mucho más grandes que eso, por ejemplo no funciona * en absoluto * en algunos sistemas. – Trejkaz

Respuesta

26

http://4thline.org/projects/cling/

Pila DLNA/UPnP de código abierto, bibliotecas y herramientas para desarrolladores de Java y Android

+0

Gracias - esto es exactamente lo que estoy buscando –

+0

@Roland: ¿Puede decirme qué va a hacer exactamente? Necesito ayuda para descubrir el dispositivo UPnP en Android. Quiero hacer una aplicación que mi dispositivo Android sirva como un medio que pueda transmitir multimedia desde Internet y luego ponerlo a disposición del dispositivo UPnP. Cualquier ayuda sobre esto ... –

+0

Gracias, estaba esperando esto solo ... gracias –

9

También puede probar ohNet que incluye enlaces Java y pilas de dispositivos/puntos de control bajo una licencia BSD.

(Negación: He contribuido a este proyecto)

+0

interesante ... pero no puedo encontrar cómo puedo obtener mi puerta de enlace UDN con él. ¿Es posible hacer eso? –

+1

@IMAnis_tn use CpDeviceListUpnpDeviceType ("upnp.org", "InternetGatewayDevice", 1, oyente). Se llamará al "oyente" cada vez que se encuentre un dispositivo. Use la función getUdn() para recuperar el dispositivo udn. También puede usar CpDeviceListUpnpServiceType si desea buscar un tipo de servicio en particular. – simonc

+0

@IMAnis_tn, también valdría la pena echar un vistazo a la descripción del punto de control en [wiki del proyecto] (http://www.openhome.org/wiki/OhNet) para obtener detalles sobre cómo inicializar la biblioteca – simonc