.Net的UPnP库[关闭]

Posted

技术标签:

【中文标题】.Net的UPnP库[关闭]【英文标题】:UPnP Library for .Net [closed] 【发布时间】:2010-12-20 13:03:11 【问题描述】:

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

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

所以我寻找替代方案并找到了Mono.Upnp。它看起来很有希望,但我根本无法让它发挥作用。

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

我很茫然。没有upnp.dll的替代品吗?

【问题讨论】:

【参考方案1】:

我决定硬着头皮自己动手。这并不难。简单的 udp + xml + 肥皂。

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

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

Mono.Upnp 来源也很有帮助。

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

【讨论】:

所以可以帮助他人。这个答案对任何人都没有帮助。它肯定不应该被接受。【参考方案2】:

您也可以考虑ohNet。它是 BSD 许可的,具有适用于 Windows、Linux、iosandroid 和 Mac 的端口以及适用于 C++、C#、Java、javascript 和 C 的语言绑定。

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

【讨论】:

非常感谢! ohNet 对我来说确实是最好的 UPnP 实现。你的回答为我节省了很多时间。再次感谢您! 死链接 :-( ... @nashwan 感谢您发现这一点。现已更正。【参考方案3】:

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

参见英特尔的Ylian Saint-hilaire 的blog post 1 和blog post 2。

【讨论】:

【参考方案4】:

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

【讨论】:

谢谢。这很有趣,但是代码非常庞大,组件分散在多个项目中。我很难理解这一切。我不确定是否可以以可用的方式提取到 UPnP 组件。 我想您可以向开发人员询问可行性。顺便说一句,您是否从类似的 SO 问题中看到了这个 ***.com/questions/333079/…。

以上是关于.Net的UPnP库[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Java的UPnP库[关闭]

在 VB.NET 中创建 DLNA 服务器/服务 [关闭]

Win10哪些服务可以关闭

.NET 图形库? [关闭]

.NET 的开源 zip 库? [关闭]

.NET 的 SFTP 库 [关闭]