Python UPnP/IGD客户端实现?

2024-05-13 11:21:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找Python中UPnP客户机的开源实现,更具体地说是它的Internet Gateway Device(IGD)部分。

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

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

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

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


Tags: 项目代码服务器客户机device开源upnpinternet
2条回答

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

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

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

我认为你真的应该考虑布里莎。它最近成为一个纯粹的python UPnP框架,而不仅仅关注媒体服务器。

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

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

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

相关问题 更多 >