Strophe & Ejabberd:发送消息后重新认证的问题
Posted
技术标签:
【中文标题】Strophe & Ejabberd:发送消息后重新认证的问题【英文标题】:Strophe & Ejabberd: problem with reauthentication after sending message 【发布时间】:2011-03-26 12:17:47 【问题描述】:我使用 Strophe 附加方法通过外部身份验证连接到 ejabberd (2.1.6)。附加后一切正常,但是当我尝试向某个用户发送消息节时,该用户没有收到他的消息。消息节存储在数据库的假脱机表中。我不知道为什么消息没有直接传递给用户。
我在 ejabberd 日志中看到的唯一内容是,在发送消息后,ejabberd 正在测试我通过外部 isuser 调用向其发送消息的用户,然后 ejabberd 重新对我进行身份验证。
我不知道重新认证是正常的还是我做错了什么。
你们中的任何人以前有过这种类型的问题吗?如果是这样,您是如何解决的?
【问题讨论】:
【参考方案1】:是重新认证的发件人吗?如果是这样,可能是您发送的 XML 格式不正确,并且服务器正在断开您的连接。
【讨论】:
是的,是发件人。客户端发送的消息节是按照 Strophe 库使用标准 $msg 函数形成它的方式形成的。【参考方案2】:如果资源不是目录或文件,我的应用程序和 htaccess 文件似乎存在问题,它将所有请求发送到 index.php,这导致我的应用程序在有图像时再次运行 GET 请求服务器上不存在,但包含在 html 中。 而且因为我在每个请求(ajax 除外)上都连接到 ejabberd,所以正在进行重新身份验证。 比你感兴趣。
【讨论】:
以上是关于Strophe & Ejabberd:发送消息后重新认证的问题的主要内容,如果未能解决你的问题,请参考以下文章
Django + Strophe + ejabberd - 附加和群聊的麻烦
ejabberd.yml 为 strophe 配置注册一个新用户
使用 Strophe 连接到 ejabberd 的 AUTHFAIL 和会话超时