Python UPnP/IGD 客户端实现?

Posted

技术标签:

【中文标题】Python UPnP/IGD 客户端实现?【英文标题】:Python UPnP/IGD Client Implementation? 【发布时间】:2010-09-22 14:39:38 【问题描述】:

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

目前,我只能在 PyMediaServer、PyMedS、BRisa 或 Coherence 等项目中找到 UPnP 媒体服务器实现。

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

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

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

【问题讨论】:

【参考方案1】:

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

理由:这不是我正在寻找的纯 Python 解决方案,而是:

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

【讨论】:

【参考方案2】:

我认为你真的应该考虑 BRisa。它最近变成了一个纯 python UPnP 框架,不仅仅专注于媒体服务器。

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

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

您也可以在 irc.freenode.org 上通过 #brisa 联系开发人员,我们要么在线,要么空闲。

【讨论】:

我花了一些时间研究您的文档,但我正在寻找一个非常简单的模块化库。 BRisa 不这么认为,恕我直言。

以上是关于Python UPnP/IGD 客户端实现?的主要内容,如果未能解决你的问题,请参考以下文章

基于thrift的java和python分别作为客户端和服务端的调用实现

python3实现的rtsp客户端脚本

Python3+telnetlib实现telnet客户端

python3+paramiko实现ssh客户端

Python实现多用户全双工聊天(一对一)

Python通过IMAP实现邮箱客户端