问题标签 [strophe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
278 浏览

xmpp - 当 pause() 和 attach() 时我会留在 MUC 中吗?

我有一个使用 Strophe 编写的客户端,它加载在我网站的每个页面上。为了最大限度地减少延迟,我保存了摆脱,每个页面的 jid 和 sid 都会更改,以便我可以使用 Strophe 的 attach() 方法。

但是,我不确定暂停和附加是否让我留在 MUC。如果是这样,是否有 Strophe MUC 插件的补丁可以让我在不重新加入 MUC 的情况下设置处理程序?

0 投票
2 回答
1293 浏览

javascript - “使用 JavaScript 和 jQuery 进行专业 XMPP 编程”示例 3 - 连接按钮不起作用

我正在尝试在我的网站上设置一个 xmpp 客户端,以便熟悉我遵循本书的示例。我通过复制代码实现了示例 3。我唯一改变的是“http://localhost:5280/http-bind/”的连接地址和脚本路径。当我指向 localhost/hello.html 它按预期加载。当我输入凭据并按下连接时,什么都没有发生?这会是js的错误吗?

代码与此处的第 3 章相同

编辑:连接按钮的问题是 strophe 和 flxhr js 没有正确加载。所以现在连接按钮工作并调用绑定的连接函数以及关闭对话框。但是,连接和断开连接的函数没有被调用,所以在我按下连接后没有任何反应。什么会导致这种情况?

0 投票
2 回答
2698 浏览

javascript - 使用 Strophe.js 在 openfire 上进行新注册

我使用 strophe.js 库和 Openfire 在浏览器中发送和接收 XMPP 消息。它工作正常,但仅适用于我已经在我的联系人列表中的用户 - 名册。我需要让新用户注册。我知道如何在我的名册中添加现有人员,但我不知道如何在 openfire 上注册新用户。

0 投票
1 回答
1002 浏览

xmpp - 基于 Tornado 的 XMPP 服务器和客户端

我们正在开发一个基于聊天的网站。在进行了广泛的文献回顾之后,我们选择使用 Tornado 作为我们的 Web 服务器,使用 socket.io 作为客户端 JavaScript。

我们现在正在扩展我们的应用程序,以一次为大约 50,000 名用户提供服务。所以,我想问一下 Ejabberd 是否适合我们的架构(同意我们对改变持开放态度的事实,这会极大地改变我们当前的实现,只要它是值得的)或者是否有任何其他技术堆栈可以扩展相同的。

我们的重点是一对一的用户聊天。

0 投票
1 回答
2231 浏览

javascript - 如何将自定义消息处理程序与 Strophe 连接

我在 Facebook 聊天系统上与 Strophe 合作,到目前为止,登录和发送消息都有效。

到目前为止,我可以在 Google Chrome Inspector 控制台中看到已注册传入消息,但是,我目前没有注册任何传入消息处理程序。

我试过了

但这似乎没有任何作用。

任何帮助是极大的赞赏!

0 投票
1 回答
2631 浏览

xmpp - 从 OpenFire 服务器获取用户列表

我目前正在尝试制作一个基于 Strophe 的 javascript 脚本来获取 OpenFire 服务器中可用用户的列表(需要实时刷新)。我不在乎我是否必须创建一个组、房间或其他任何名称(无论如何,服务器将只为一小部分用户运行,每个人都相互连接),但我希望能够制作服务器给出这样的清单。我怎样才能做到这一点?我读过我需要使用 muc 扩展,但我似乎无法在任何地方找到它......

0 投票
2 回答
2066 浏览

javascript - 在 muc room 中使用 Strophe 发送 XHTML 消息

我正在尝试使用 Strophe 将 html 消息发送到 muc 房间。我还尝试通过 Psi 中的 XML 控制台发送以下 xml,但它不起作用,只显示 Hello World。消息节有什么问题吗?

谢谢!

Edit1:disco#info 房间查询。我现在使用的是 Vacuum-IM 和 Psi 客户端,但 Psi 应该支持 xhtml-im ( http://psi-im.org/wiki/Supported_Protocols )

Edit2:对消息节的响应

Edit3:对 muc#traffic 查询的响应

Edit4:Psi 对客户端的响应(功能)disco#info(xhtml-im 是最后一个)

Edit5:解决方案:获取 iChat 和 Adium :-) Adium 以不同的颜色和字体发送 xhtml 消息,但它不显示它自己做了什么。只有 iChat 才能正确呈现 xhtml。所以组合有效。也不要使用 p 标签,颜色应该是十六进制形式。例子:

0 投票
4 回答
10391 浏览

django - 使用 Socket IO(或 Strophe.js)、XMPP 和 Django 进行实时服务器推送

我有几个我编写的 Android 和 iOS 本机移动应用程序,它们直接连接到我托管的 XMPP 服务器。他们通过 XMPP 推送和拉取实时数据。我还使用了一些XMPP XEP 扩展。对于其他操作,我在同一台服务器上运行了一个 django 应用程序,所有移动应用程序都通过 HTTP REST 接口使用它。我在 django 端使用 Celery 和 Redis 来异步执行一些操作(比如对我的数据库进行大量的批量写入)。

这一切都很好,花花公子。耶。

但是现在我想为所有这些编写一个 Web 前端,所以我开始研究我的选择,而且很好 - 有很多方法可以给猫剥皮,我想先咨询 SO 社区。

拥有一个 js 库,它为我提供了一个用于套接字通信的统一 API(即尝试不同的 Web 套接字实现或回退到 Flash)的想法吸引了我,因此我提到了 Socket IO。必须运行 nodejs 服务器的想法,好吧,不是那么多(还要学习一件事),但如果我必须这样做,我肯定会。我知道有些人使用gevent 作为节点服务器的替代品。其他人,决定编写一个小的 nodejs,将其连接到堆栈的其余部分。我可能会这样做。

另一种选择是使用像Strophe这样的 js XMPP 库,我认为它没有闪退。另外,我需要研究这对我的服务器意味着什么。

我已经阅读了几个关于如何做彗星和 django 的 Stackoverflow 答案——因此为什么看起来有几个选项。

问题是:

如果我想拥有 Socket IO 行为的优势(带有后备)并且我想将实时数据推送到 Web 客户端(通过 XMPP 馈送到服务器),并使用 Django,我最好的选择是什么?

更新:我使用的 XMPP 服务器是ejabberd,它也支持BOSH。我意识到我可以使用Strophe.js,因此我的通信将通过一种长轮询 http 连接而不是 websockets。据我所知,有一些XMPP over Websockets 开源库,但 AFAIK 社区不如 SocketIO 活跃。

更新 2:我需要支持的浏览器只是现代浏览器。我想这意味着 Flash 后备不会那么重要,这让我倾向于 strophe.js。

0 投票
1 回答
530 浏览

xmpp - 将现有聊天数据库迁移到 XMPP (jabber) db

我有一个现有的聊天和个人资料网站,有 25 万活跃用户。用户有个人资料等等。目前,我自己使用 ajax 进行了聊天,但我正在转向 XMPP 协议。

为此,我安装了 Openfire 并使其与 js 客户端框架 strophejs 一起工作,我制作了一个简单的测试客户端,一切正常。

例如,我不知道如何向 openfire 用户添加图片或个人资料。当我从服务器获得“存在”更新时,我只会获得用户名/电子邮件。我想使用我自己的数据库中的配置文件来扩展用户,或者将我现有的数据库迁移到 openfire 的数据库,但是我将配置文件数据放在哪里?

有人可以在这里给我一些指示吗?

谢谢,

埃尔格

0 投票
2 回答
3124 浏览

javascript - XEP-0077 使用 Strophe.js 和 openfire 使用进行带内注册

我正在尝试使用 strophe 插件在 openfire 服务器上注册一个新用户,但它没有连接注册。这里的描述https://github.com/metajack/strophejs-plugins/tree/master/register并没有让我更进一步:(我必须先建立连接吗?这是我在单击按钮时尝试的登记: