问题标签 [xmpp4r]

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 投票
3 回答
5955 浏览

objective-c - iOS XMPP 框架获取所有注册用户

在我的聊天应用程序中,我想获取所有在线注册用户。所以每个人,而不仅仅是我名单中的人,这是通过以下代码实现的:

使用此代码,用户只能看到“朋友”的其他用户,但我需要在此特定域上注册的所有用户。ejabberd可以做到这一点吗?

0 投票
1 回答
1622 浏览

ruby - Ruby 中 XMPP 的 Blather 的积极替代品

在维护一个使用 XMPP4R gem 的项目时,我开始查看文档并注意到https://github.com/ln/xmpp4r的 GitHub不再活动,并且至少两年没有活动了。

在访问 XMPP 站点以获取可用于 Ruby 的库http://xmpp.org/xmpp-software/libraries/之后,仅列出了 5 个用于 Ruby 的选项:

因此,除了 Blather 之外,似乎不再支持所有列出的 Ruby XMPP 库。虽然我并不绝对反对使用 Blather,但在我决定从 XMPP4R 迁移之前,我想问这个问题。

OLD:Blather 作为 Ruby 的 XMPP 库有哪些替代品并得到积极维护?

编辑:尝试重新表述问题以更好地适应 SO 格式,所以它看起来不像是购物问题!

我知道 XMPP 是一个较旧的规范,而且 Blather 似乎不是 XMPP for Ruby 的事实上的标准,甚至没有一个。那么为什么很少有为 Ruby 积极开发的 XMPP 库呢?当然,较旧的图书馆并不完美!

(虽然这有点主观的问题,但我觉得这仍然符合 SO 制定的格式)

0 投票
1 回答
395 浏览

ruby-on-rails - 在数据库中存储指向对象的指针

我有一个 Rails 应用程序,每个用户都可以连接他的 Facebook 帐户,并允许从正在使用的应用程序发送消息。因此,每个连接 Facebook 帐户的登录用户都必须有一个 Jabber 客户端,该客户端使用他的 Facebook-id、令牌等进行授权,我正在使用 xmpp4r GEM 进行此操作。

使用令牌连接的 facebook 帐户和 facebook 数据作为 Mailman 对象存储在数据库中。Mailman 类还有控制 Jabber 客户端的方法,如 run_client、connect_client、authorize_client、stop_client、get_client 等。对我来说最重要的方法是 connect_client 和获取客户端。

正如您在代码中看到的,每个 Mailman 对象都有 get_client 方法,该方法应该返回 Jabber::Client 对象,这是真的,它正在工作,但仅在运行应用程序的范围内,因为 @@clients 变量仅存储用于特定运行的应用程序。

这对我来说是个问题,因为我想使用 cron 任务来关闭空闲客户端,并且 cron 任务正在使用不同的应用程序初始化,所以 Mailman.find(x).get_client 将始终返回 nil,即使它返回 Jabber: : 生产应用程序中的客户端对象。

你是如何处理这些问题的?例如,是否可以为 Jabber::Client 对象获取指向内存的指针并将其保存到数据库中,以便任何其他应用程序的初始化都可以使用它?我不知道如何做到这一点。感谢您的任何建议!

0 投票
1 回答
146 浏览

ruby-on-rails - 如何使用 ruby​​ on rails 删除 ejabber 中的聊天

我知道如何发送,但我不知道如何接收和删除它。

0 投票
1 回答
426 浏览

xmpp - 使用 XMPP,我可以在没有订阅的情况下发送消息吗?

我目前正在使用xmpp4r(Ruby)编写一个 XMPP 机器人,但是当它使用相同的 XMPP 服务器向用户发送消息时,它不会传递给用户。我的条件是:

  1. bot 用户在 XMPP 服务器 x 上注册。
  2. 将获得消息的人类用户也在同一个 XMPP 服务器 x 上注册。
  3. 两个用户都连接到该服务器并且在线。
  4. 用户之间没有订阅或邀请。
  5. 此时,机器人用户需要向人类用户发送消息。

这可能吗,或者我能做些什么来从机器人发送消息?

0 投票
1 回答
198 浏览

ruby-on-rails - XMPP,向数千个 jabberID 发送一条消息 - jabber 最终仅将其发送给选定 JID 组的随机部分

我们有一个“超级用户”帐户,用于向选定的 JID 发送消息。假设我们已经选择了我们想要向其发送消息的那些,并且我们得到了一个庞大的用户 JID 数组(此时为 20k)。我们在后台运行了一个守护进程,一次向每个用户发送一条消息,在发送 2000 条消息后停止一分钟(限制为 2500 条/分钟)。我们使用 xmpp4r 作为处理发送消息的客户端。每个用户都有相同的@xmpp.address。<body>在每条消息中都是相同的。

我们的 tigase 日志(因为这就是我们正在使用的)显示消息确实确实到达了 jabber 服务器并被发送给适当的用户,一次一个。

我们遇到的问题是,尽管一切看起来都很好,但实际上只有一部分用户得到了消息。(例如,在某一时刻,考虑到发送了 100 条第一条消息 - 1..20 和 91..100 已送达,中间的 70 条根本没有送达),我们同时改进了几件事,但这仍然可能是线索。

我们尝试创建一个包含 10000 个重复 JIDS 的数组(几个用户的 jid 重复了数千次),并且每条消息都被传递(并且以正确的顺序)。

我们已经花了几天时间尝试不同的场景,并且开始想不出可能出了什么问题。

知道我们可能错过了什么吗?

0 投票
1 回答
595 浏览

ruby-on-rails - 如何将 XMPP 消息从 Rails Web 发送到移动应用程序?

我们需要构建一个移动应用程序,其 API 将使用 Ruby on Rails 编写。在某些情况下需要向移动设备发送 xmpp 消息?请帮忙怎么办?

0 投票
0 回答
93 浏览

ruby - xmpp4r 从代码创建组

我正在使用 xmpp4r 和 Rails 4 来实现实时网络聊天系统。XMPP 服务器是 Openfire,我将 converse.js 用于 Web 客户端部分。问题如下:当我通过 converse.js 小部件登录时,客户端正在连接(我可以通过 Openfire 界面看到它在线)但我无法向/从其他帐户发送/接收消息。通过 Openfire Web 界面创建一个组并将我想使用的两个用户添加到同一个组解决了这个问题,现在我可以正常交流了。现在我的问题是:

  1. 我应该为在我的网站上注册的每个用户创建一个新组吗?该组将包含他的朋友,以便他可以与他们聊天(我很确定这个问题的答案是肯定的)
  2. 如何使用 xmpp4r 从代码中自动创建这样的组?
0 投票
1 回答
384 浏览

ruby - XMPP 传输到 ICQ

我尝试通过 jabber-transport 向 icq 发送消息。我尝试使用此答案 XMPP transport to another protocol中的代码,但收到此消息:

请解释一下:我做错了什么?提前致谢。

这是我的代码

更新代码:

返回:

仍然无法正常工作

0 投票
1 回答
87 浏览

ruby-on-rails - Rails + xmpp4r + puma. Whem puma run as daemon XMPP disconnects

I've got an initializer which starts xmpp4r client. It works fine when I run puma server as a regular process. But when I start puma as a daemon (-d option) it works for a few seconds and disconnects from the xmpp server. I've got separate thread which handles reconnects, but it doesn't work when puma is a daemon.

I've got nothing from this code in log when puma is a daemon. Right after rails app start it works for a few seconds, receives messages, iqs, no errors just as usual. Then silently disconnects. Here is a constructor of my class:

But when puma run without -d option - no problems at all. Same thing in development and production, my workstation and server. ruby 2.0.0 puma 2.9.2 Min threads: 0, max threads: 16 rails 4.2.0beta4