无法使用 strophe 连接到 eJabberd 服务器

Posted

技术标签:

【中文标题】无法使用 strophe 连接到 eJabberd 服务器【英文标题】:Unable to connect to eJabberd server using strophe 【发布时间】:2018-03-23 11:46:46 【问题描述】:

我已经在我的本地机器上设置了一个 eJabberd 服务器。 当我在浏览器中输入以下网址时:

http://localhost:5280/admin

它提示我输入管理员用户名和密码,然后页面显示如下(在Virtual Hosts 部分下):

Note: syed-virtualbox and localhost are both one and the same

如上图所示,我添加了 2 个新用户 usr1 和 usr2。

现在为了测试我的服务器是否正常工作,我正在从这个 url 下载 Library Strophe.js 的示例/示例:

https://github.com/strophe/strophejs/archive/v1.2.14.tar.gz

样本可以在解压目录的Examples 文件夹下找到。 如下图:

现在我编辑此目录中的所有 js/javascript 文件并将参数 BOSH_SERVICE 更改为指向我的本地主机,即http://localhost:5280/xmpp-httpbind,如下图所示:

现在,我开始在浏览器中使用basic.html 文件并输入JID 作为usr1(如Unable to connect to ejabberd localhost 中所述)及其密码。我得到以下回复:

注意:即使我使用 usr1@localhost 或 usr1@syed-virtualbox,我也会得到相同的响应

So i would like to know is there something that i'm doing wrong?
OR
Can someone provide me some working sample of Strophe on localhost?

【问题讨论】:

嗨,你能连接吗?我得到了 net::ERR_CONNECTION_RESET 【参考方案1】:

请检查你的配置文件,看看在bosh配置下tls是真还是假。如果 tls 为真,那么请在连接到 bosh 服务 URL 时使用 HTTPS over HTTP。

【讨论】:

【参考方案2】:

伙计们,我不确定这是否仍然相关。我的 ejabberd.yml 设置中有 tls=true,我使用了

var BOSH_SERVICE = 'https://localhost:5280/xmpp-httpbind';

但我遇到了同样的错误。

对我有用的是:

var BOSH_SERVICE = 'wss://localhost:5280/websocket';

【讨论】:

以上是关于无法使用 strophe 连接到 eJabberd 服务器的主要内容,如果未能解决你的问题,请参考以下文章

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

Strophe & Ejabberd:发送消息后重新认证的问题

是否有可以连接到 ejabberd 的 AJAX Web 客户端?

Strophe 无法通过 BOSH 服务器连接到 Facebook

Strophe.js 无法连接到 openfire

Ejabberd 无法连接到“localhost”:3306:错误,“连接失败:连接被拒绝”