Python UPnP/IGD客户端实现?
问题描述:
我正在Python中寻找一个UPnP客户端的开源实现,更具体的是它的Internet Gateway Device(IGD)部分。Python UPnP/IGD客户端实现?
现在,我只能够找到UPnP媒体服务器实现,在项目,如PyMediaServer,PyMedS,BRisa或Coherence。
我确定我可以使用这些代码库作为开始,但媒体服务器部分将引入不必要的复杂性。
那么你能推荐一个客户端UPnP(并希望IGD)Python库吗?另一种方法是将调用发送到C库,如MiniUPnP,但我更喜欢纯粹的Python实现。
更新:在StackOverflow上提供了一个有趣的,有关SSDP和UPnP的相关讨论。
答
MiniUPnP源代码包含一个使用C库作为扩展模块的Python示例代码(请参阅testupnpigd.py
),我认为这是我的问题的一个合适的解决方案。
理由:这是不是纯Python解决方案,我一直在寻找,但:
- 显著的努力已经投资了这个库,
- 它是轻量级(它没有解决媒体服务器问题),
- IGD通常只用于连接设置,所以不能将其与Python代码更紧密地结合似乎不是问题,它还提供了一个NAT-PNP实现(苹果公司的并发IGD,的一部分10)。
答
我认为你应该真的考虑BRISA。它最近成为了一个纯粹的Python UPnP框架,而不仅仅是媒体服务器。
它为您构建和部署您的UPnP设备提供了许多实用的模块和功能。
该项目还缺乏反馈:-)。如果你愿意尝试BRisa,我建议你使用最新的svn代码。
您也可以联系irc.freenode.org上#brisa的开发人员,我们可以在线或闲置。
我花了一些时间研究你的文档,但我正在寻找一个非常简单的模块化库。 BRisa并没有这样感觉到恕我直言。 – oparisy 2009-02-15 19:56:54