问题标签 [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 投票
2 回答
2029 浏览

connection - XMPP strophe 连接附加过程失败

我能够在页面加载时创建 XMPP 连接。但是,每当我移动到另一个页面时,我想使用相同的连接来删除客户端中的重复通知。我使用了以下代码。

并在卸载:

它附加到连接,但是一旦附加,它就会在 Firebug 控制台中显示 (POST http://localhost:5280/xmpp-httpbind 404 Not Found 36ms)。有任何想法吗?

提前致谢。

0 投票
1 回答
2041 浏览

jquery-ui - 使用 Backbone.js 和 underscore.js 渲染标签(jquery ui)

我目前正在使用 strophe.js、backbone.js 和 wijmo(基于 jquery UI 的 UI 库)并在聊天界面上工作。我有两个对话框,一个是联系人列表,另一个是聊天容器。聊天将使用经典的 jquery UI 标记组织在选项卡中:

每个单独的聊天容器都将包含一个参与者列表(多用户聊天)、消息和一个表单。

作为 Backbone 和 underscore 的新手,我想知道处理这个问题的最佳方法是什么。我从一个聊天模型、一个聊天集合、一个聊天视图和一个聊天列表视图开始,但我找不到合适的方法来呈现选项卡并使其保持更新。

有任何想法吗 ?

0 投票
2 回答
1582 浏览

facebook - FB Chat API - 使用 Strophe 对 X-FACEBOOK-PLATFORM 进行身份验证

我正在尝试使用 X-FACEBOOK-PLATFORM 身份验证技术连接到 FB Chat。我目前正在使用 Strophe 库。

其他一切都已完成并且正在工作,我把这一点留到最后(我知道这会很困难)。

但是 Strophe 仅提供对 MD5 的支持,我不能将其用作 JS 客户端。因此,我需要找到一种方法来进行特殊的 Strophe 连接。

我在以下位置看到过 Strophe 插件;

https://github.com/rubenjgarciab/turedsocial/blob/dc12d71339ad509c946b5de727f2d77999153b02/strophe-plugins/src/facebook.js

但是,自从 OAuth 2.0 强制执行以来,这不起作用。如果我绝对必须手动进行连接,我有信心但是我希望有人已经解决了这个问题。

至少有人可以告诉我如何手动进行连接(如在 Strophe 函数中绕过 .connect(); 并自己做)。

谢谢安德鲁

0 投票
1 回答
955 浏览

javascript - Strophe 在页面卸载时发送双重请求

我用 jQuery+Strophe 编写了一个 XMPP 客户端。这一切都运作良好(一对一、存在、MUC 等)并且包含在一个 jQuery 插件中。但是,当页面卸载时,它会发送 2 个具有相同删除的最终请求。直到最近我开始处理会话附件时,它才成为一个问题。

以下是 Firebug 控制台的示例:

在此处输入图像描述

在这里,我刚刚登录并立即刷新了页面。您看到的第一个帖子是登录后的初始状态节。在该请求之后,一个新的 BOSH 请求开始保持与服务器的连接。当我刷新页面时,此请求被中止。到目前为止,一切都按我的预期进行。

但是,在中止请求之后,strophe 会发送另一个具有完全相同 RID 的请求。最后的请求是从 strophe 发出的(我想)有礼貌,与问题无关。然而,它的响应表明 openfire(XMPP 服务器)为了保护帐户而终止了会话。

我查看了我的代码,但找不到代表我提出的任何请求。我相当肯定 strophe 发送了这个请求。但是,它必须来自我所做的事情,因为我的初始原型没有这个问题(事实上,我经常不得不在管理面板上手动终止会话,因为我忘记通过客户端关闭它们)。

在发布违规代码之前,是否有任何已知问题需要检查?

0 投票
1 回答
794 浏览

xmpp - 使用 Strophe 和 Openfire 的多个同时 XMPP 连接

我想知道是否有人有使用单个 javascript 客户端通过 BOSH 与 Openfire 服务器建立多个连接的经验。似乎如果我尝试建立超过 4 或 5 个连接,Strophe.connect.status 会随机进入 CONFAIL 并且客户端开始随机丢弃/重新连接。

0 投票
1 回答
1193 浏览

javascript - 如何检测与 Strophe.js 断开连接的会话?

假设长时间聊天对话,Jabber 聊天客户端之间的连接最终可能会断开。

如何检测来自基于 Strophe.js 的 jabber 客户端的连接?

0 投票
2 回答
4552 浏览

openfire - 查询 openfire 消息存档

我正在玩 strophe 和 Openfire 3.7.1(带有用户服务和监控插件)。

我在http://xmpp.org/extensions/xep-0136.html(7.2 检索集合)中阅读了我可以检索存档消息的内容。我已经将monitoring.jar 插件安装到我的openfire 服务器并启用了归档。我读过我需要打开存档来查询存档,但是这个功能已经在监控插件中。

引用监控插件自述文件:“监控插件增加了对 Openfire 聊天存档和服务器统计的支持。它支持生成关于服务器统计的各种报告,以及管理、查看和报告聊天日志。”

我可以在监控 GUI 中看到存档的消息,但我想在我使用 strophe.js 库制作的客户端中检索它。我不知道该怎么做。在 XEP-0136 示例中,他们创建了这样的 IQ:

但是openfire似乎没有回复。我不确定我是否应该使用开放存档插件,因为如果我检查我的监控选项卡,存档已经在那里。此外,大多数关于开放存档的帖子都有 2 年的历史,所以我不确定它是否仍然受支持。请指教。

最好的祝福,

史蒂文森·李

0 投票
4 回答
3084 浏览

javascript - 为什么 Strophe.js 没有抛出错误?

示例代码:

它不会在我的 Chrome 控制台中引发错误。

你有解决这个问题的想法吗?

0 投票
1 回答
173 浏览

javascript - 当您关闭聊天窗口时,使用 StropheJS 的 Javascript 方式可以干净地退出

所以这就是困境 - 我目前正在使用连接到 Openfire 服务器的 StropheJS,并且我试图捕获物理关闭正在运行聊天应用程序的浏览器的事件。我尝试将我的注销脚本放在窗口中.close 和 unload 函数,但是在脚本完成执行之前浏览器似乎正在关闭。反过来,Openfire 服务器需要几分钟才能意识到客户端的存在是“离线”的。

我想知道是否有办法阻止浏览器关闭足够的时间以完成卸载事件。我唯一能想到的就是将其中之一“您确定要离开此页面吗?” 模态,但基于对此类问题的回应,似乎普遍的共识是非常不利的。

任何指出我正确方向的建议都会很棒。

提前致谢。

0 投票
0 回答
420 浏览

strophe - 使用 tigase 服务器进行 PEP 处理

最初,我为我的基于 Web 的聊天客户端使用了一个 openfire 后端。但由于它的 pep 不适用于集群,我不得不迁移到 tigase。

聊天与 tigase 配合得很好,我还没有进入集群部分,但仍然坚持让我的旧服务启动。注意:我在我的网络应用程序中使用 strophe。

我现在正试图弄清楚如何让 pep 与 tigase 一起工作。对于带有 openfire 的 pep,我只是使用带有 strophe 的 pep 插件并像这样订阅另一个用户的 pep 流

发布我使用这些:

这曾经在 openfire 上工作得很好,但一个很大的区别是,使用 tigase 我没有收到回调成功订阅。当我在我的花名册上发布用户时,会自动获取我的流(这很好)。但问题是我无法使用 strophe 为这个事件指定一个处理程序。

如果我有 2 个用户 cef 和 miko 并且我的域是 mydomain。当我发布与 miko 的心情时,我在 cef 上得到以下信息:

我试过自己创建一个处理程序,就像我对花名册一样。

对于这个特定的事件,我的处理程序都无法处理它们,但是通过萤火虫和谷歌的检查,我在网络中看到一个带有上述节的条目。

但这似乎不起作用。有人有什么主意吗?