无法使用 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 客户端?