这是我的用例:
到目前为止,这是我的代码,使用SleekXMPP:
import sys, sleekxmpp, logging
if sys.version_info < (3, 0):
reload(sys)
sys.setdefaultencoding('utf8')
#This is hardcoded here, for illustration.
jid = 'hermans@******.com/Work'
password = '********'
targetjid = 'simena@*******.com/Work'
class SubscribeWorker(sleekxmpp.ClientXMPP):
def __init__(self, jid, password):
sleekxmpp.ClientXMPP.__init__(self, jid, password)
self.add_event_handler("session_start", self.start)
def start(self, event):
self.send_presence(pto=targetjid, ptype='subscribe')
self.get_roster()
if __name__ == '__main__':
logging.basicConfig(level=5,format='%(levelname)-8s %(message)s')
xmpp = SubscribeWorker(jid, password)
if xmpp.connect():
xmpp.process(threaded=False)
print("Done")
else:
print("Unable to connect.")
这会成功发送请求,但对于任何现有请求或订阅状态,它都不会占用高位。有没有人在使用XMPP进行订阅/取消订阅处理时有示例代码? 我试图理解维基和代码示例 - 我真的有,我现在只是停留在这段代码中。
提前感谢,任何输入。