- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 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 附带的文档非常糟糕。
有人知道断开连接的“正确方法”吗?
最佳答案
一般来说,如果您想断开与 XMPP 服务器的连接,您将发送一个类型为“unavailable”的 Presence 节,如下所示:
<presence type='unavailable' />
请注意,Presence 没有收件人地址。这是一个 link如果您想了解更多信息,请访问 XMPP 的 RFC。 (第 5.1.5 节)
在那之后,您可以从容地断开与服务器的连接,因为您发送的存在基本上是在告诉服务器,“我出去了。”。
我查看了 XMPPPY 文档(是的,我同意它有改进的余地),似乎 xmpp.Client.Client 包含一个函数调用 sendPresence(...)。您也许可以使用该功能发送不可用状态?
这是 API 文档:http://xmpppy.sourceforge.net/apidocs/xmpp.client.Client-class.html#sendPresence
关于python - 如何断开我的 XMPPPY 客户端对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3835548/
我正在使用 xmpppy。我创建了 50 多个 xmpp 连接线程。一段时间后我得到一个错误: File "transports.py", line 199, in pending_data retu
使用 XMPPPY 连接到 XMPP 服务器很简单。 from xmpp.client import Client as XMPPClient self.xmppClient = XMPPClient
如何使用此方法通过 xmpppy 发送数据:http://xmpp.org/extensions/xep-0047.html#send 我想我应该使用 IBB 类,但不知道该怎么做。 http://x
我正在尝试创建一个非常简单的脚本,它使用 python 的 xmpppy 通过 facebook 聊天发送消息。 import xmppFACEBOOK_ID = "username@chat.fac
我快要为这个问题抓狂了。我正在使用我能想到的最简单的代码来测试 xmppy,但它一次又一次地失败。我过去使用过 sendxmpp,但我正在尝试将一些服务器端脚本迁移到使用 python,而不是通过管道
我需要在连接到 gmail 时禁用 SSL 连接,我曾尝试过此代码: import xmpp username = 'username' passwd = 'password' to='friend@
我正在尝试使用 xmpppy 通过 Jabber(到 Google Talk)发送 XHTML(一个超链接),但找不到一个好的工作示例...我试过这个: http://intertwingly.net
我使用的代码: import xmppy jid = xmpp.JID('user@gmail.com') cl = xmpp.Client(jid.getDomain()) cl.connect(s
我在相关问题中找到了一个通过 xmpp(py) 发送消息的最小示例;见下文。但是当我执行脚本时,出现以下错误: client = xmpp.Client('gmail.com') Attribu
我正在尝试使用 xmpppy 访问我的 google talk 联系人的自定义状态消息。我做到了这一点: import xmpp import sys userID = 'myname@gmail
我是一名优秀的程序员,十分优秀!