首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么所有twisted/wokkel xmpp示例都忽略了JID在xmpp协议中的正确用法?

为什么所有twisted/wokkel xmpp示例都忽略了JID在xmpp协议中的正确用法?
EN

Stack Overflow用户
提问于 2009-12-24 15:43:45
回答 2查看 1.2K关注 0票数 1

好吧,这不是问题。我见过的所有wokkel和twisted示例都不能正确观察JID中生成的资源。

使用wokkel/twisted构建的Google talk客户端通常会中断,因为它们不会在响应上设置完整的JID,从而导致(非常隐藏的、低级别的)错误,如:

<message to="example@gmail.com" from="example2@synthasite.com/Example2C2F32A1" type="error"><body>echo: None</body><error code="400" type="modify"><bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">If set, the 'from' attribute must be set to the user's full JID.</text></error></message>

完整的服务器颁发的jid可以在协议处理程序中从self.parent.authenticator.jid.full()获得

因此,在发送消息时,请确保在from字段中使用完整的jid,否则某些服务器会不喜欢您,您会拔出头发,哭出来。

EN

回答 2

Stack Overflow用户

发布于 2010-04-07 15:23:05

在这种情况下,非问题的更好答案是您根本不应该设置发件人地址。每台服务器都会很高兴地为您填补空白,使您不必再去计算客户端的JID。

票数 5
EN

Stack Overflow用户

发布于 2013-12-23 07:25:41

根据我的实验,它不是self.parent.authenticator.jid.full()而是self.parent.jid.full()。代码片段如下

代码语言:javascript
复制
        reply = toResponse(msg, msg.getAttribute('type'))
        reply.addElement('body', content=unicode(msg.body))
        reply["from"] = self.parent.jid.full()
        self.send(reply)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1957255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档