使用 XMPPPY 连接到 XMPP 服务器很简单。
from xmpp.client import Client as XMPPClient
self.xmppClient = XMPPClient("jabber.foo.com")
if not self.xmppClient.connect(server="localhost"):
raise IOError('Cannot connect to server.')
if not self.xmppClient.auth("node", "password", "resource"):
raise IOError('Can not auth with server.')
self.xmppClient.RegisterHandler("message", self.messageHandler)
self.xmppClient.sendInitPresence()
但是,有时我的客户不得不强制断开连接,但仍然继续做其他事情。我想确保客户端正确断开连接 - 套接字没有“徘徊”并且服务器资源没有被浪费。
预期的模式是否只是将客户端设置为 None 并让 GC 清理对象?
self.xmppClient = None
我在客户端中看到“断开连接的处理程序”,但我看不到如何调用它们。XMPPPY 附带的文档很糟糕。
有人知道断开连接的“正确方法”吗?