Python UPnP / IGD客户端实现?

时间:2008-11-16 22:38:41

标签: python networking nat upnp

我在Python中搜索UPnP客户端的开源实现,更具体地说是Internet Gateway Device(IGD)部分。

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

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

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

更新:StackOverflow上提供了有关SSDP和UPnP的有趣的相关讨论。

2 个答案:

答案 0 :(得分:7)

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

理由:这不是我想要的纯Python解决方案,但是:

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

答案 1 :(得分:2)

我认为你应该考虑BRisa。它最近成为纯粹的python UPnP框架,不仅仅关注媒体服务器。

它为您构建和部署UPnP设备提供了许多实用的模块和功能。

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

您也可以通过irc.freenode.org联系#brisa的开发者,我们要么在线,要么闲着。