2

如何使用此方法通过 xmpppy 发送数据:http: //xmpp.org/extensions/xep-0047.html#send

我想我应该使用 IBB 类,但不知道该怎么做。 http://xmpppy.sourceforge.net/apidocs/

4

2 回答 2

1

首先,如果您使用的是 GoogleTalk,请确保发送者在接收者的名单上。接下来,在发送方:

from xmpp import *
cl=Client('example.com')
cl.connect()
cl.auth('sender', 'sender_pass')
ibb = filetransfer.IBB()
ibb.PlugIn(cl)

f = open('/tmp/foo')
ibb.OpenStream('123', 'receiver@example.com/resource', f)

如果您没有先正确执行XEP-95 / XEP-96 ,则流 ID 是什么并不重要。

于 2012-07-11T06:28:30.857 回答
0

我认为是这样的:

import StringIO
...
output = StringIO.StringIO()
output.write('String data')
output.close()


client.OpenStream('123', 'receiver@example.com/resource', output)
于 2012-07-11T09:26:49.513 回答