Python UPnP/IGD客户端实现?

opa*_*isy 12 python networking upnp nat

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

目前,我只能在PyMediaServer,PyMedS,BRisaCoherence等项目中找到UPnP媒体服务器实现.

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

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

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

opa*_*isy 7

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

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

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