我正在寻找一个开源实现UPnP http://elinux.org/UPnPPython 中的客户端,更具体地说是它的互联网网关设备 http://en.wikipedia.org/wiki/Internet_Gateway_Device_Protocol(IGD)部分。
目前,我只能在以下项目中找到 UPnP 媒体服务器实现:PyMedia服务器 http://pymediaserver.sourceforge.net/, PyMedS http://resnet.uoregon.edu/~gurney_j/jmpc/pymeds.html, BRisa http://brisa.garage.maemo.org/ or 连贯性 https://coherence.beebits.net/.
我确信我可以使用这些代码库作为开始,但媒体服务器部分会引入不必要的复杂性。
那么你能推荐一个客户端 UPnP(希望还有 IGD)Python 库吗?另一种方法是将调用分派给 C 库,例如MiniUPnP http://miniupnp.free.fr/,但我更喜欢纯 Python 实现。
更新:关于 SSDP 和 UPnP 的有趣的相关讨论可在堆栈溢出 https://stackoverflow.com/questions/22321/remoting-server-auto-discovery-broadcast-or-not.
MiniUPnP 源代码包含使用 C 库作为扩展模块的 Python 示例代码(请参阅testupnpigd.py
),我认为这是解决我的问题的正确方法。
理由:这不是我正在寻找的纯 Python 解决方案,但是:
- 这个库已经投入了大量的精力,
- 它是轻量级的(它不解决媒体服务器问题),
- IGD 通常仅在连接设置时使用,因此不将其与 Python 代码更紧密地集成似乎不是问题,
- 作为奖励,它还提供了 NAT-PNP 实现(IGD 的 Apple 并发,是Bonjour http://developer.apple.com/networking/bonjour/specs.html).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)