问题标签 [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 回答
4532 浏览

xmpp - 使用 strophe.js 和 punjab 将 Google Talk 集成到 Web 应用程序

我正在尝试将 Google Talk(又名 gtalk)集成到我的网络应用程序中。这将是一个紧密的集成,因此 Google Talk 回聊徽章和使用 iframe 嵌入 Google 基于 Flash 的 Web 客户端将无法完成这项工作。

如果网络上还没有基于 HTML 的客户端,我可能需要从头开始构建客户端。经过一番研究,我认为解决方案是使用 strophe.js 作为前端,使用 punjab 作为中间件与 Google Talk 服务器通信。听起来对吗?是否有任何涵盖该主题的好博客文章或教程?

对于前端,strophe.js 能否拉取联系人列表;以及联系人的在线状态?在深入研究之前,我试图先了解大局。现在,旁遮普语对我来说就像一个完整的黑匣子。一旦安装并运行,似乎没有太多设置要做。

任何意见?

0 投票
1 回答
2018 浏览

jquery - Strophe状态断开时如何重新连接

我想让 Strophe 在状态断开时自动重新连接,我编写的代码如下所示:

但这是行不通的。我该如何解决?感谢大家。

问候

0 投票
1 回答
2044 浏览

javascript - 使用 Strophe 附加到 BOSH 会话时遇到问题

我正在客户端使用 XMPP over BOSH 和 Strophe 实现实时通知系统,但我遇到了一些问题。当我登录我的网站时,我在后端建立了一个 BOSH 连接,并将 JID、SID 和 RID 保存为 cookie。当页面重新加载时,我从 cookie 中获取数据并使用 Strophe 的附加功能附加到该会话。我收到一个回叫状态,表明我已被附加。

我面临的第一个问题是每秒左右发送请求。这些是请求标头:

请求地址:http://localhost:7070/http-bind/
请求方法:POST
状态码:200 OK

请求标头
接受:*/*
Accept-Charset:UTF-8,*;q=0.5
Accept-Encoding:gzip,deflate,sdch
Accept-Language:sv-SE,sv;q=0.8,en-US;q=0.6 ,en;q=0.4
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:77
Cookie:JSESSIONID=ibxwvm3ophp8; jiveforums.admin.logviewer="debug.size=0&info.size=0&warn.size=0&error.size=0"
主机:localhost:7070
来源:http:// * **
引用者:http:// * ** /flXHR /flXHR.swf
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_7) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1 content-type:application/x-www-form-urlencoded

表单数据
< body rid:'3007' xmlns

响应头
Content-Length:57
Content-Type:text/xml;charset=UTF-8
Server:Jetty(7.0.2-SNAPSHOT)

我看不到任何响应内容,所以我不确定是什么原因造成的。发送的表单数据看起来像无效和不完整的 XML,这是导致它的原因还是 Chrome 在调试器中如何格式化它?

我面临的另一个问题是当我重新加载页面时。我已将卸载事件绑定到窗口对象,在该对象中我将 RID 加一并将其保存到 cookie。但是,当页面重新加载时,它说我已附加到 BOSH 会话,但随后我收到以下错误消息:

POST http://localhost:7070/http-bind/ 404 (Not Found) (localhost)

Uncaught Error: 16, ioError, An error occured preventing completion of the request. (flensed.js)

下一个请求将抛出 404(无效的 SID。)而不是 404(未找到),并且每 70 多秒左右重复一次。

有没有其他人遇到过这个问题并知道如何解决它?我很沮丧!

在此先感谢,
皮埃尔

0 投票
1 回答
431 浏览

xmpp - punjab 已安装并运行,但无法连接到 http://mydomain:5280/xmpp-httpbind

我在 Ubuntu 上安装了旁遮普语,它有 apache 并且是一个 Web 服务器。但是,当我启动页面http://mydomain:5280/xmpp-httpbind时,我收到以下错误消息:

twisted.log 并没有说太多:

punjab.tac 文件中的重要设置是:

我坐在公司代理后面。这是原因吗?感谢您的帮助!

/斯特拉

0 投票
0 回答
733 浏览

xmpp - 使用 strophe 库进行文件传输

如何使用 XMPP 中的 strophe 库在聊天中的用户之间传输文件

0 投票
3 回答
2626 浏览

jquery - 使用 Strophe 库进行 XMPP 文件传输

谁能告诉我使用 strophe 库在 XMPP 中实现文件传输

0 投票
1 回答
609 浏览

erlang - 使用会话 PID 和 JID 提取 SID

我正在尝试找到一种使用 PID 和 JID 提取 bosh 会话(ejabberd)的 SID 的方法,以便我可以在其中使用它ejabberd_sm:unset_presence,我到处搜索但找不到方法。

基本上,我已经使用 Ejabberd 和 Strophe 构建了一个聊天系统,我想要实现的是当用户按下一个页面上的脱机按钮时,与该 JID 关联的所有会话都需要脱机,我已经通过使用提取了 PID,ejabberd_sm:get_session_pid但可以'找不到提取 SID 的方法。我也尝试过SID ! Disconnect,但这会完全断开我不想要的用户。

如果有人做过这种工作,请帮助我,也欢迎其他实现此类工作的想法。

谢谢

0 投票
1 回答
157 浏览

xmpp - XMPP Chat 与不在网络中的客户端一起使用

我创建了一个 XMPP 聊天 Web 应用程序。如果我在网络和客户端之间聊天,它工作得很好。但是,如果我在两个 Web 窗口之间聊天,它就不能正常工作。它只显示第一条消息,然后停止工作。我需要刷新页面才能重新开始工作。知道为什么吗?

0 投票
1 回答
370 浏览

xmpp - Ejabberd Stanza 执行顺序(组合在一起)

我试图找出 XMPP 节的执行顺序,我使用的是 Strophe + Ejabberd,如果我发送这样的请求。

Presence 节总是先执行,然后执行 message 节。有没有办法指定顺序或类似的东西,以便首先执行 Message 节,然后再执行 Presence。

谢谢

0 投票
2 回答
970 浏览

javascript - Strophe 节处理程序中的此引用

我与 Strophe 加入的每个房间都有一个对象。这个对象包含一个用于处理这个特定房间的存在节的函数。

但是,当mainRoom.presenceHandler()Strophe 的一个节调用该函数时,this该函数中指的是该节本身,而不是指该节本身mainRoom,因此我无法从mainRoom.

你能告诉我,我如何从 presentHandler 函数中访问房间对象的属性?