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 服务器

使用 Strophe 连接到 ejabberd 的 AUTHFAIL 和会话超时

XMPP Web 客户端(使用 strophe.js)花时间连接 ejabberd 服务器

使用 strophe 和 ejabberd bosh 连接到 localhost 上的 jid 帐户时连接失败