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

Python 为什么所有twisted/wokkel xmpp示例都忽略了在xmpp协议中正确使用JID?,python,xmpp,twisted,google-talk,Python,Xmpp,Twisted,Google Talk,好吧,这不是问题。我看到的所有wokkel和twisted的例子都没有正确地观察JID中生成的资源 使用wokkel/twisted构建的Google talk客户端通常会中断,因为它们没有在响应上设置完整的JID,从而导致非常隐藏的低级错误,如: echo:none如果设置,“from”属性必须设置为用户的完整JID 可以在协议处理程序中从self.parent.authenticator.jid.full获取服务器发布的完整jid 因此,在发送消息时,请确保在“发件人”字段中使用完整的jid

好吧,这不是问题。我看到的所有wokkel和twisted的例子都没有正确地观察JID中生成的资源

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

echo:none如果设置,“from”属性必须设置为用户的完整JID

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


因此,在发送消息时,请确保在“发件人”字段中使用完整的jid,否则某些服务器会不喜欢你,你会毛骨悚然地哭泣。

在这种情况下,最好不要设置发件人地址。每一个服务器都会很乐意为您填写空白,从而省去了您的客户机JID的使用。

在这个特定的情况下,更好的回答是,您不应该设置地址。每一个服务器都会很乐意为您填写空白,从而省去了您的客户机JID有什么。

< P>根据我的实验,它不是Self.Palent;AuthoCual.jID.Full,但是Self.Pr.jID.Full。代码片段如下所示

        reply = toResponse(msg, msg.getAttribute('type'))
        reply.addElement('body', content=unicode(msg.body))
        reply["from"] = self.parent.jid.full()
        self.send(reply)

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

        reply = toResponse(msg, msg.getAttribute('type'))
        reply.addElement('body', content=unicode(msg.body))
        reply["from"] = self.parent.jid.full()
        self.send(reply)

您可以大胆地从一个问题开始来保存这个问题:如何使这个示例wokkel代码在使用gtalk时不呕吐,请查看这个奇怪的错误和您的代码以及发送/接收xmpp数据包。然后用您在self.parent.authenticator.jid.full中已经了解的内容回答您的问题。然后你有一个可参考的问题/答案,而不是咆哮。你可以从一个问题开始英雄式地保存这个问题:我如何使这个示例wokkel代码在使用gtalk时不呕吐,请查看这个奇怪的错误以及你的代码以及发送/接收xmpp数据包。然后用您在self.parent.authenticator.jid.full中已经了解的内容回答您的问题。那么你就有了一个可参考的问题/答案,而不是咆哮。