12

我正在寻找 Python 中UPnP客户端的开源实现,更具体地说,是它的Internet 网关设备(IGD) 部分。

目前,我只能在PyMediaServerPyMedSBRisaCoherence等项目中找到 UPnP 媒体服务器实现。

我确信我可以使用这些代码库作为开始,但媒体服务器部分会引入不必要的复杂性。

那么你能推荐一个客户端 UPnP(希望是 IGD)Python 库吗?另一种方法是将调用分派给MiniUPnP等 C 库,但我更喜欢纯 Python 实现。

更新:关于 SSDP 和 UPnP 的有趣的相关讨论可在StackOverflow上找到。

4

2 回答 2

7

MiniUPnP 源代码包含一个 Python 示例代码,它使用 C 库作为扩展模块(请参阅 参考资料testupnpigd.py),我认为这是解决我的问题的合适方法。

理由:这不是我正在寻找的纯 Python 解决方案,而是:

  • 已经在这个图书馆投入了大量的精力,
  • 它是轻量级的(它不解决媒体服务器问题),
  • IGD 通常仅用于连接设置,因此不将其与 Python 代码更紧密地集成似乎不是问题,
  • 作为奖励,它还提供了 NAT-PNP 实现(IGD 的 Apple 并发,Bonjour的一部分)。
于 2008-11-18T07:26:00.497 回答
2

我认为你真的应该考虑 BRisa。它最近变成了一个纯 Python UPnP 框架,不仅仅专注于媒体服务器。

它提供了大量实用模块和功能,供您构建和部署 UPnP 设备。

该项目也缺乏反馈:-)。如果你愿意尝试 BRisa,我建议你使用最新的 svn 代码。

您也可以在 irc.freenode.org 上通过#brisa 联系开发人员,我们要么在线,要么空闲。

于 2008-12-01T18:30:28.017 回答