问题标签 [tigase]

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 投票
5 回答
14517 浏览

xmpp - Tigase、Openfire 和任何其他开源 XMPP 服务器之间的比较

我也一直在研究这些,它们似乎都在 Java 中提供了功能齐全的 XMPP 服务器。我知道 Tigase 是以非常模块化的方式设计的,还没有详细了解 Openfire。

我的预期用途是创建一个基于 IM 的自定义应用程序,为了方便而使用 XMPP,而不是打开我的服务器与其他 XMPP 服务器通信。

我正在尝试根据以下内容评估我的需求,大致按重要性排序:

  1. 文档覆盖范围和社区
  2. 插入自己的功能有多容易
  3. 许可/成本 - 我不打算发布我的代码
  4. 成熟稳定
0 投票
5 回答
8584 浏览

android - 无法将 Android 客户端与本地 XMPP 服务器连接

这是关于在这里发帖的

我可以将我的 PC 连接到本地的本地 tigase 服务器设置(我正在使用 Smack API)。现在,当我想通过 Wi-Fi 将 Android 手机连接到该服务器时,我遇到了问题。我可以使用客户端 Beem for android 连接到本地服务器。我的 XMPP 服务器域名是我的 PC 名称“mwbn43-1”,IP 地址是“192.168.0.221”(我可以从安卓终端模拟器)。在 Beem 设置中有一个高级选项,我可以在其中指定要连接的服务器(我已将其作为 IP 地址给出)。如果我不设置此选项,我将无法连接。现在这里是片段我用于我的 android 客户端的代码。

在此代码的帮助下,我还可以连接到 Google Talk 服务器。在与本地服务器建立连接时,我尝试提供 IP 地址和主机名进行连接。当我提供 IP 地址(192.168.0.221)时,我得到“无响应”来自带有流的服务器错误:错误(主机未知),当我给出主机名(mwbn43-1)时,我得到主机未解析的“远程服务器超时(504)”。

我查看了 Beem 的代码,看看它是如何与服务器连接的,但找不到太多。我还授予了 Internet 的用户权限。谁能告诉我应该添加哪些代码行来与本地服务器通信。

0 投票
1 回答
216 浏览

iphone - Tigase:MUG 没有实现,下一步是什么?

我正在开始为 iPhone/iPad 开发多人游戏,我正在考虑使用 Tigase 作为游戏服务器的 XMMP 服务器。然而,似乎 Tigase 还没有实现 MUG XEP。无论如何,对于我试图实现的简单任务来说,MUG 太复杂了。

以下是游戏基础:

  • 每场比赛最多可以有 4 名玩家。
  • 每个玩家都可以在任何时候执行一个动作,唯一的游戏规则是向比赛中的每个玩家转发一个数据包,告诉用户做出的动作以及是否是一个好动作。

这是我想要实现它的方式:

  • 重用 MUC 组件来模拟多人房间。
  • 每个房间都有一个 Bot 成员:所有数据包都将直接发送给该 BOT:BOT 将检查移动(将是基本消息包)的有效性,并将适当的消息发送给房间中的所有玩家。

我认为这可能有效。如果您认为这是一个可行的解决方案:

  • 编写 BOT 的最佳方法是什么。每个房间我应该有一个 BOT 吗?如何检测何时创建新房间以便创建 BOT?
0 投票
1 回答
848 浏览

java - java Tigase 性能

为什么 Tigase Server 可以达到如此多的连接?http://www.tigase.org/content/tigase-load-tests-again-500k-user-connections

假设我可以使用 Netty 达到 100,000 个连接吗?

0 投票
2 回答
443 浏览

java - 使用 XMPP 协议通过 tigase 服务器将字符串数组从一个 Android 发送到另一个

我目前正在尝试使用 Smack 库和 Tigase 服务器使用 XMPP 协议将字符串数组从一个 Android 发送到另一个(我正在使用 Eclipse IDE 进行 Java 开发)。

字符串数组是项吗?或者是其他东西?我也可以将它作为文件发送,但我认为它可能更耗能(对于设备的电池)。有没有更好的方法来完成这项任务?

我之所以这样问,首先是因为没有有组织的来源可以让我尝试独立地找到我的答案,其次是因为这是一项非常基本的任务,与可能做过类似事情的人相比,我可能需要几个小时才能弄清楚这之前。

如果您不知道这个特定问题的答案但您知道在哪里可以找到它,我很乐意收到信息来源...

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 上得到以下信息:

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

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

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

0 投票
1 回答
4398 浏览

amazon-ec2 - 在 Amazon EC2 上扩展 Tigase XMPP 服务器

有没有人有在 Amazon 的EC2上运行集群Tigase XMPP 服务器的经验,主要是我想知道任何不明显的可能让我绊倒的事情。(例如,显然在 EC2 上运行 Ejabberd 可能会由于 Mnesia 而导致问题。)

或者,如果您对在 Ubuntu 上安装和运行 Tigase 有任何一般性建议。


额外的信息:

我正在开发的系统使用 XMPP 只是为了在移动应用程序和服务器之间进行通信(近乎实时)。

用户数量最初会很小,但希望会增长。这就是系统需要可扩展的原因。大概对于几千个用户来说,您不需要 cc1.4xlarge EC2 实例?(否则运行起来会非常昂贵!)

我计划将托管在Amazon RDS中的 MySQL 数据库用于 XMPP 服务器数据库。

我还计划使用SleekXMPP创建一个用 Python 编写的外部 XMPP 组件。它将是这个外部组件完成服务器的所有“工作”,因为我正在制作的应用程序与即时消息传递完全不同。对于这一部分,我还没有弄清楚如何将用 Python 编写的外部 XMPP 组件连接到 Tigase 服务器。该文档似乎表明组件是专门为 Tigase 编写的——而不是为一般的 XMPP 服务器编写的,正如我所料,使用XEP-0114: Jabber Component Protocol 。

有了这些额外的信息,如果您能想到我应该知道的其他任何事情,我会很高兴知道。

谢谢 :)

0 投票
4 回答
4675 浏览

amazon-ec2 - EC2 上的 Openfire 性能

我们计划在我们的移动应用程序中引入实时聊天功能。当然,我们将采用 XMPP 方式。

任何人都可以了解 Openfire 在现实世界中不同大小的 EC2 实例(Windows 服务器)上支持的最大并发用户数的统计数据吗?

我们正在查看从 22500 名并发用户到 75000 名并发用户的数字,具体取决于预测的应用下载增长模式和用户对这一新的实时聊天功能的适应性。时间范围 = 未来 12 个月。

从我到目前为止所做的任何谷歌搜索来看,Openfire 似乎在横向扩展方面可能不是最好的选择,那么随着时间的推移,单个 ec2 实例能否支持这些数字?即:我们开始托管较小的实例,并根据负载需求不断增加实例大小。

当涉及到扩展时,Ejabbered 似乎是最好的选择,但是因为我们需要具备 erlang 技能才能扩展它,所以 ejabbered 对我们来说是一个艰难的选择。另一个替代方法是 tigase,它是 java,因此我们可以轻松扩展它,但如果 Openfire 可以通过扩展与扩展在接下来的 12 个月左右为我们工作,我们很乐意现在使用它,看看它有多好新的聊天功能被接受。第一个原因是易于管理。

最后,如果您可以在 SaaS / PaaS 提供商上为 XMPP 聊天提供链接提供帮助,并在用户离线时将通知推送到移动设备,那就太棒了。我们与 quickblox.com 取得了联系,但他们的企业产品目前对我们来说似乎很昂贵。如果我们采用 SaaS / PaaS 方式,我们希望数据 100% 的所有权和可移植性。

0 投票
2 回答
1091 浏览

tigase - 如何在 tigase 中通过 XMPP 配置 BOSH?

我已经安装了 tigase XMPP 服务器。现在我想配置 BOSH 以便通过 http 连接。我对这种环境非常陌生。任何帮助将不胜感激。

0 投票
0 回答
468 浏览

java - mysql + xmpp 服务器 + 测试加载 - 我是否达到任何物理限制?

在负载测试期间(模拟用户连接到服务器),前 1750 秒的平均事务/秒速率约为 300-400,峰值约为 700 tr/sec。这些事务正在使用服务器的底层 mysql 数据库,每个事务大约 5 到 10 个查询。没有任何连接、视图或更复杂的东西,而是简单的查询,数据库也被相应地索引,innoDB 存储引擎。这台机器有充足的 RAM 和 CPU 能力,即使在 SQL 异常情况下,监控也显示,这台机器有超过 50% 的可用 CPU/RAM 资源。Db 条目的数量级为 10^5,但我仍然有大约 20-30 个这样的例外:

我相信时间测量是正确的,因为我已经仔细检查过它们。为什么我会得到这样的例外?为什么有时测量的执行时间相当短(甚至 0 ms = 即时异常抛出)?

Mysql 慢日志显示(只是一个大问题?):

我已尝试更改数据库 jdbc 驱动程序,并确保在我当前使用的 mysql 版本中没有记录此类错误。

谢谢大家的意见!