问题标签 [mongoose-im]

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

mongoose-im - 如何在 MongooseIM 中设置名册

是否可以将名册修改锁定到某个组?Ejabberd 像这样启用它:

0 投票
1 回答
465 浏览

react-native - 如何在 xmpp.js(在 react-native 中)和 MongooseIM(作为聊天服务器)中使用流管理确认?

我在 react-native 中使用 xmpp.js 作为 xmpp 聊天客户端,用于 android+ios 和 MongooseIM 作为聊天服务器。我想在应用程序中实现流管理确认。但是根据issue#540, xmpp.js 暂时不支持流管理。什么可以替代这个?

我只需要流管理模块来发送/接收 c2s 和 s2s 之间的确认。请指导。

0 投票
1 回答
404 浏览

react-native - 为什么 MongooseIM 会在 60 秒后关闭 websocket 连接?

我使用 MongooseIM 作为聊天服务器,并在 react-native 应用程序中使用 xmpp.js 通过 websocket 连接它。服务器在不活动 60 秒后强制关闭连接。我想知道:

  1. 如果这是默认配置?
  2. 我应该/我可以改变它吗?
  3. 我是否应该设置 ping 机制,以便我的客户端必须在每 60 秒后发送一些 ping 以避免断开连接
0 投票
1 回答
123 浏览

debugging - 如何在 MongooseIM 的 rebar.config 中添加调试器应用程序?

我正在使用带有 MongooseIM 的 MAC OS 10.14。我想在 MongooseIM 中使用调试器。当我执行im(). 在 MongooseIm shell 中,我收到以下错误:

在应用程序调试器中调用 i:im/0 失败。好的

我可以验证我可以运行im()。在 erlang shell $ erl中。看来我必须在 MongooseIM 中启用调试器,但我不知道该怎么做。我在 Erlang/Ejabberd/MongooseIM 文档中找不到它。我还阅读了与此相关的以下内容:

在应用程序调试器中调用 i:im() 在 mongooseim 中失败 https://github.com/esl/MongooseIM/issues/1788

根据第二个 URL,我需要在 MongooseIM 的 rebar.config 中添加调试器应用程序,但我不知道如何,请帮忙。

0 投票
1 回答
269 浏览

erlang - 如何找回失去的Ejabberd/MongooseIM 中与 XEP-0022 相关的事件

我正在使用 MongooseIM 和 XEP-0022 <消息> 事件,如 <离线>、<已交付>、<显示>、<撰写> 以确认消息传递等。我对 <离线> 和 <撰写> 的工作感到满意,但是与其他两个有一些困难。

如果两个用户(聊天)都在线,那么一切都会很好。但如果考虑以下用例:

  1. 假设第 2 个用户离线,第 1 个用户在线并发送带有所有 4 个事件的 <message>,然后离线。
  2. 然后第二个用户上线(请记住,第一个用户现在离线)并且该用户收到 < message > 作为回报,他发送 <delivery> 和 <displayed> 事件,现在第二个用户进入离线阶段。
  3. 一段时间后,当第一个用户再次上线时,他没有收到任何 <delivery> 和 <displayed> 事件。

简而言之,两者都需要同时在线才能使其工作。所以,我担心的是:

  1. 如何确保将消息传递并显示给第二个用户,而不会同时使两者在线而头疼。
  2. 我是否遗漏了什么或者可以通过一些配置更改来解决?
  3. 我应该在这里使用 FCM 吗?
0 投票
1 回答
44 浏览

erlang - 什么是损坏的序列化 SCRAM 错误?

我正在使用 mongooseim,突然我开始收到以下错误: [警告]损坏的序列化 SCRAM:<<>>并且不再能够与用户连接。我无法找到是否以某种方式启用了除 PLAIN TEXT 身份验证之外的身份验证。

另外,如果我从终端命令注册一个新用户,例如:mongooseimctl register user10 localhost pass,它总是有效的。但是从数据库中,所有其他用户看起来都像 user10 但所有这些都不起作用。

0 投票
0 回答
119 浏览

erlang - 无法从 iq 接收隶属关系变更通知

我在源代码(ver-3.1.0)的 MongooseIM 中使用 mod muc_light 并从本文中获得帮助,我能够成功地执行以下操作而没有任何问题:

  1. 创建一个新的 muc light 房间。
  2. 发送/接收短信节
  3. 查询 MAM 并接收常规群聊消息。[来自上述文章的'6.2.1 来自居住者的群聊消息'] [即使,我在这里获得了 muc 信息,但因为这与特定的 muc light 房间有关。所以,没有多大用处。]

但我无法查询 MAM 并收到隶属关系变更通知。请参阅上述文章链接中的主题[6.2.2 隶属关系变更]。

以下是“隶属关系变更通知”的请求/响应

MongooseIM 配置:

问题/疑虑:

  1. 我在配置中做错了吗?- [我对此表示怀疑,因为上面提到的其他一些操作运行良好]
  2. 我是否发送了不正确的 IQ 节 - [我对此表示怀疑,因为我正在复制上面链接中提供的完全相同的节示例]
  3. 我应该更新 MongooseIM。[或许]
  4. 还要别的吗?

请帮忙

0 投票
1 回答
185 浏览

sql - MongooseIM 可以在 PostgreSQL 后端处理多少用户?

我正在使用 PostgreSQL 作为后端的 MongooseIM 服务器。我需要所有基本功能,例如:

  1. 一对一在线聊天。
  2. 群聊(仅限 Muc light)
  3. MAM 存储和所有其他基本功能。

我可以使用集群扩展 MongooseIM(使用 Mnesia 存储会话)。但我觉得我可能会在使用 PostgreSQL 的后端遇到瓶颈。PostgreSQL 可以处理的用户数量的粗略估计是多少,而无需像 Riak 这样的 No-sql 进行转移。因为从可扩展性的角度来看,我不想搞砸后端。

示例 - 假设我需要处理超过 1000 万用户。我可以为此使用 PostgreSQL。如果是,那么我是否需要像 Postgresql 中的分片这样的特殊技术才能继续使用它,或者在某些时候我必须转移到 Riak 或其他 Nosql。你有什么建议吗?

0 投票
1 回答
359 浏览

amazon-web-services - 通过 AWS ELB 的 MongooseIM SSL 连接

我在 AWS 的 EC2 实例中使用 docker-compose 配置了 MongooseIM 服务器。

我打算通过以下方式通过端口 5222(mongooseim 的模块 ejabberd_c2s)上的 ELB(AWS)使用 SSL 访问一些移动客户端:

在 ejabberd_c2s 模块配置中,我有以下内容:

但是客户无法连接,我在服务器上得到的唯一消息是:

Mongoose 文档没有为我提供任何解决方案,我没有看到任何人出现此错误。

任何帮助或线索?

0 投票
1 回答
1207 浏览

erlang - 如何通过 Mongooseim 中的终端与已经运行的实例进行交互?

我正在使用 ubuntu 服务器上源代码中的 Mongooseim 3.2.0。以下是关注:

  1. 将 mongooseim 作为服务运行以便在 mongooseim 崩溃或系统重新启动时自动重新启动的最佳方法是什么?
  2. 如何通过终端与 ubuntu 服务器上已经运行的 mongooseim 实例进行交互,例如“mongooseimctl live”。我的猜测是运行“mongooseimctl live”会尝试创建另一个实例。我只想查看实时日志和交互,不想为此目的继续滚动长日志文件。

如果上面的答案很明显,我很抱歉,但只是想遵循最好的指导。