.Net的UPnP库

时间:2009-11-26 01:45:48

标签: .net networking upnp

我正在尝试使用UPnP。具体来说,我正在尝试浏览PS3 Media Server的内容库。

我尝试了upnp.dll(Windows附带的COM库),发现它很容易使用。我可以很容易地发现设备并查看他们的服务,但是在尝试访问媒体服务器(其他设备,如我的路由器和Windows媒体播放器,工作正常)时会抛出异常。在网上搜索一下,发现upnp.dll没有很好地实现,其他人遇到同样的问题,没有找到解决方案。

所以我找了一个替代方案,找到了Mono.Upnp。它看起来很有希望,但我根本无法让它工作。

我看到了英特尔UPnP SDK的提及,但这似乎已被弃用,我找不到可下载的软件包。

我很茫然。除了upnp.dll之外别无选择吗?

4 个答案:

答案 0 :(得分:5)

我决定咬紧牙关然后自己滚动。这并不难。简单的udp + xml +肥皂。

这个链接对我很有帮助:
http://www.upnp.org/download/UPnP_Device_Architecture_Generic_20000710.ppt

有关媒体服务器内容目录的详细信息,请参阅: http://www.upnp.org/standardizeddcps/documents/ContentDirectory1.0.pdf

Mono.Upnp来源也很有帮助。

我没有计划开源这个开源,因为它不是一个完整的实现(我正在为我的项目做严格的最小化)。

答案 1 :(得分:5)

你也可以考虑ohNet。它是BSD许可的,具有Windows,Linux,iOS,Android和Mac的端口以及C ++,C#,Java,JavaScript和C的语言绑定。

(我应该注意到我参与了ohNet的开发)

答案 2 :(得分:2)

关于英特尔UPnP SDK,它最近更新并重命名为 Developer Tools For UPnP。最显着的变化是它现在包括所有工具和代码生成器的源代码,源代码在Apache 2.0许可下,并且在几个地方添加了IPv6支持。

请参阅英特尔blog post 1blog post 2Ylian Saint-hilaire

答案 3 :(得分:1)

可能值得浏览MediaPortal源代码的相关部分。特别是,UPnP项目可能很有用。