2009-11-26 22 views
7

Estoy tratando de jugar con UPnP. Específicamente, estoy intentando navegar por la biblioteca de contenido de PS3 Media Server.Biblioteca UPnP para .Net

me trataron upnp.dll (una biblioteca COM que se incluye con Windows) y se encontró que sea fácil de usar. Puedo descubrir dispositivos y ver sus servicios con bastante facilidad, sin embargo, arroja una excepción cuando intento acceder a los servicios del servidor de medios (otros dispositivos, como mi enrutador y el reproductor multimedia de Windows, funcionan bien). Un poco de búsqueda en la red reveló que upnp.dll no está bien implementado y otras personas tienen el mismo problema y no encontraron soluciones.

Así que he buscado una alternativa y encontraron Mono.Upnp. Parece prometedor, pero no puedo hacer que funcione, en absoluto.

vi menciones de UPnP SDK de Intel, pero esto parece estar en desuso y no puedo encontrar un paquete descargable.

Estoy perdido. ¿No hay alternativa a upnp.dll?

Respuesta

5

Decidí morder la bala y simplemente rodar la mía. No es tan dificil. Simple udp + xml + jabón.

Este enlace fue muy útil para mí:
http://www.upnp.org/download/UPnP_Device_Architecture_Generic_20000710.ppt

Para los detalles de directorio de contenido de un servidor de medios, ver: http://www.upnp.org/standardizeddcps/documents/ContentDirectory1.0.pdf

La fuente Mono.Upnp también fue útil.

que no tienen planes para hacer de este código abierto, ya que no será una aplicación completa (que estoy haciendo lo estrictamente necesario para mi proyecto).

+0

SO está allí para ayudar a otros. Esta respuesta no ayuda a nadie. Seguramente no debería ser aceptado. –

1

podría valer la pena navegar por la parte pertinente de MediaPortal código fuente. En particular, el proyecto UPnP puede ser útil.

+0

Gracias. Es bastante interesante, pero el código es MASIVO, con componentes dispersos en múltiples proyectos. Me está costando dar sentido a todo. No estoy seguro de si sería posible extraer componentes UPnP de manera utilizable. –

+0

Supongo que podría preguntarle a los desarrolladores sobre la viabilidad. Por cierto, ¿viste esto http://stackoverflow.com/questions/333079/is-there-a-upnp-library-for-net-c-or-vb-net/346941#346941 de una pregunta SO similar? . – si618

2

Acerca de Intel UPnP SDK, se actualizó recientemente y cambió su nombre a Developer Tools For UPnP. Los cambios más notables son que ahora incluye el código fuente de todas las herramientas y el generador de código, la fuente está bajo la licencia de Apache 2.0 y se agregó compatibilidad con IPv6 en varios lugares.

Ver blog post 1 y blog post 2 por Intel Ylian Saint-hilaire.

5

También podría considerar ohNet. Tiene licencia BSD y tiene puertos para Windows, Linux, iOS, Android y Mac y enlaces de lenguaje para C++, C#, Java, JavaScript y C.

(debería tener en cuenta que he estado involucrado en el desarrollo de ohNet)

+1

¡Muchas gracias! ohNet es realmente la mejor implementación de UPnP para mí. Me salvaste mucho tiempo con tu respuesta. ¡Gracias de nuevo! –

+0

Enlace muerto :-(... – nashwan

+0

@nashwan Gracias por detectar esto. Ahora corregido. – simonc