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 に付属するドキュメントはひどいものです。
誰かが切断する「正しい方法」の手がかりを持っていますか?