Простое подключение к серверу XMPP с XMPPPY.
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, ужасна.
Кто-нибудь имеет хоть какой-то ключ к «правильному пути» отключения?