我正在为我的 jabber 远程管理机器人使用xmpppy库,但我找不到如何发送/接收文件并将其保存在指定的目录中。文档很差,也没有任何示例,但我真的很想做。任何人都可以展示一些例子或一些关于它的链接吗?或者也许我应该使用替代的 xmpp 绑定?
问问题
3711 次
2 回答
3
有两个 XEP(XMPP 扩展)涵盖文件传输:XEP-0096 http://xmpp.org/extensions/xep-0096.html(称为 SI(流启动)文件传输)和 XEP-0234 http://xmpp .org/extensions/xep-0234.html(Jingle 文件传输)
XEP-0096 是原始的,但我发现它很少在大多数库和大多数客户端中实现(正如您所发现的)。XEP-0234 更新很多,可以在更现代的客户端中找到,但在较旧的库(如 xmpppy)中没有。即使您找到库或其中任何一个的实现,您将面临的问题是连接的两端也必须实现它们。
在这两者中,我会选择 XEP-0234,因为它涵盖了原版的很多问题,并且被认为是它的替代品。
就 Python 库而言,没有一个支持它。我看过 xmpppy、headstock、pyxmpp、jabber.py、twisted words 和我最喜欢的 slimxmppp。
于 2010-05-19T03:15:32.927 回答
0
xmpppy中有一个模块xmpp.filetransfer:
该模块包含 IBB 类,它是 JEP-0047 的简单实现。请注意,这只是数据的传输。您必须在之前协商数据传输(最有可能通过 StreamInitiation)。不幸的是,SI 还没有实现。
于 2011-02-04T15:37:36.060 回答