问题标签 [xmpp]

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 回答
4063 浏览

asp.net - ASP.NET 中的 Jabber 集成

我正在为 Jabber 寻找支持 AJAX 的 Web 客户端。我找到了一些,但它们看起来很难与 ASP.NET 集成。

其中一些甚至没有在 IE 中进行测试。

我正在尝试制作一个类似 Facebook 的聊天客户端,欢迎任何建议吗?

0 投票
1 回答
523 浏览

java - 请确认此 XMPP 代码不是线程安全的

我正在阅读 Smack api 的源代码,方法 XMPPConnection# disconnect如下所示:

在我的场景中,我将一个实时 XMPPConnection 存储在一个名为 Session 的类中。一个单独的执行线程将尝试通过调用 Session# shutdown()来关闭我的 XMPPConnection 实例。正如我所看到的,我将不得不合作地告诉 Session 通过获取互斥锁或其他东西来关闭 XMPPConnection。正确的?

0 投票
2 回答
839 浏览

java - 应用容器中的守护线程

我最近在 Smack 论坛的一篇文章中读到

在 Java EE 服务器中启动守护线程是一个很大的禁忌

基本上,Smack 的 XMPPConnection 启动一个守护线程来监视传入数据和另一个分别从/向 jabber 服务器发送传出数据。在这种情况下使用守护线程来监听写入/读取是否合理?

0 投票
1 回答
407 浏览

java - 所有数据包的一个侦听器与处理特定类型的单独侦听器

Smack 的 XMPPConnection 实现了一种从 jabber 服务器接收 XMPP 响应的事件驱动方式。方法addPacketListener (org.jivesoftware.smack.PacketListener, org.jivesoftware.smack.filter.PacketFilter) 允许您指定自己的自定义侦听器。我正在维护一个 PacketListener 处理所有类型的传入消息的代码。为了改进设计(向单一职责原则致敬),我计划创建单独的侦听器来处理特定类型的数据包。这是一个好主意吗 ?另一个问题是消息包可能来自许多 IM 系统,例如 yahoo、google 等...?我是否为每个雅虎、谷歌服务创建单独的处理器?

0 投票
2 回答
2756 浏览

xmpp - 哪些用户当前连接到 Openfire Jabber 服务器?

我有一个 Openfire Jabber 服务器,列出了超过 75,000 个用户。其中,150 人或更多人可以随时在线。

有没有什么地方可以收集当前登录用户的 JID(用户名)?我拥有对基础数据的完全数据库访问权限,但服务器似乎没有将当前状态写回数据库。由于用户数量众多,没有使用名册。

返回的一组非常有用的数据将来自一个简单的(受密码保护的)网页,每行一个 JID,可选的还有登录时间,也可能是该帐户最后一次执行操作 [如发送消息]。后两者不是必需的,但如果数据可用,以及有关用户会话的任何其他可用信息,将很有用。

0 投票
1 回答
879 浏览

flash - 如何实现基于 Flash 的 jabber 客户端?

我们正在尝试开发基于 Flash 的 jabber 客户端。我们如何在不实现 iframe 的情况下加载新页面时最大限度地减少轮询服务器的问题?

0 投票
1 回答
1515 浏览

javascript - 使用 javascript 聊天客户端 (jsjac) 连接到远程 jabber 服务器

这更像是一个概念问题。

我正在尝试创建一个可以安装在任意页面(在 x.com 和 y.com 上)的 Javascript jabber 客户端,并且我希望这个客户端能够与远程 jabber 服务器(chatserver.com )。

根据我正在查看的一个javascript客户端的自述文件(jsjac),由于跨站点问题,它无法与远程服务器通信是javascript的固有限制。

我很高兴听到任何人关于如何克服这个障碍的消息。指向示例的指针将非常有帮助。

[更新] 我在这里假设我无法控制客户端服务器 x.com 和 y.com。Hab.la 的人似乎已经成功了,不知道是怎么做到的。

0 投票
2 回答
822 浏览

java - XMPP 客户端不兼容

我目前正在开发一个项目,该项目正在构建一个基于 java 的桌面应用程序以与网站交互。我们想要整合 IM 功能,所以我们决定使用 XMPP。

问题是我们的应用程序有其他功能,任何使用另一个客户端连接到我们的 XMPP 服务器的人都会导致我们的网站出现问题(例如,我们的客户端将能够发送具有用户无法发送的特定消息类型的消息)使用,但与另一个客户端他们可以发送这些消息类型)。

有没有人可以只允许我们的客户端访问 XMPP 服务器或阻止其他客户端使用某些功能?我知道这违背了开放标准的想法,但我们不想从头开始构建专有的 IM 解决方案。

0 投票
4 回答
3589 浏览

perl - 如何让 Perl 的 Jabber::SimpleSend 与 Gmail 聊天一起使用?

我正在尝试编写一个简单的 Perl 脚本来发送即时消息。Jabber 似乎是最有利的协议。但以下脚本失败:

它说:

正如卡特曼的回答所指出的,代码实际上应该是

但这失败并出现以下错误:

我确实安装了 Authen::SASL cpan 模块。

0 投票
1 回答
2251 浏览

java - XMPP Smack API RosterListener + 数据库更改

我正在使用 Smack API 在 Java 中编写 XMPP 客户端。

我为每个用户注册了一个名册监听器,Smack API 调用......

...每次它注意到一个花名册添加。

有谁知道如果数据库更改而不是通过 Smack API createEntry() 方法,是否会关闭此侦听器?

基本上,我想将 XMPP 客户端绑定到一个网站。当您将某人添加到网站好友列表时,我希望网站通知客户。与其设置套接字或使用 PHP 登录 XMPP 服务器,我希望只修改数据库就可以工作。

在客户端不断轮询数据库以进行更改的情况下,这是否可行,或者是否有其他方法可以处理此问题?