我有一个小程序,使用XMPPPY向我发送消息,但是,有时在发送消息时我只在其中一个登录的客户端上收到消息。通过gmail界面发送时,我总是在所有登录的客户端上收到它。
这是我的代码:
username = ''
password = ''
class Gtalk():
def send(self, recipient, message):
self.jid=xmpp.protocol.JID(username)
self.client=xmpp.Client(self.jid.getDomain())
self.connection = self.client.connect()
self.auth=self.client.auth(
self.jid.getNode(),
password,
resource=self.jid.getResource()
)
self.client.sendInitPresence(requestRoster=0)
self.client.send(xmpp.protocol.Message(
recipient, message
)
)
g = Gtalk()
g.send('', 'Hello')
是否有人知道如何使用出现在所有登录的Gmail客户端上的XMPPPY发送消息?
答案 0 :(得分:0)
参见https://stackoverflow.com/a/2473747 JID(Jabber / XMPP ID以及Google Talk ID)有以下几种形式: 首先是“裸JID”,例如:user@example.com 其次是“完整的JID”,例如:user@example.com/xyz123,其中xyz123被称为资源。
您使用完整的JUD,这就是为什么只在xyz123客户端上显示您的消息。