在 ejabberd 中添加共享名册中的所有用户
Posted
技术标签:
【中文标题】在 ejabberd 中添加共享名册中的所有用户【英文标题】:Add all users in shared roster in ejabberd 【发布时间】:2015-07-30 12:43:28 【问题描述】:尝试设置 ejabberd 以获取其他用户的存在。到目前为止所知道的,如果我想知道其他一些用户的状态(存在)而不是他自己在 ejabberd 中的名册列表中的用户。但我不想为每个用户维护一个名册列表,而是使用 mod_shared_roster,以便任何人都可以知道任何人的状态。所以我建立了一个共同的小组并做到了这一点。
这样做之后。
-
当我转到特定人员的名单时,它仍然没有显示任何内容。我是吗
遗漏了什么?
将每个人都添加到每个人的名册中(尽管我做不到)而不是将单个用户添加到名册中是多么明智。
【问题讨论】:
【参考方案1】:共享名册是动态的。这意味着用户名册的相关条目是在检索时动态添加的。这意味着当用户检索到名册时,ejabberd 会在传递之前合并用户的标准联系人和他的共享名册联系人。
用户仍然可以拥有一个标准的名册,例如来自另一台服务器的联系人,并且该名册不会被修改。
因此,您在 ejabberd 数据库中看不到用户名册的任何更改是正常的。但是,当您连接到该用户帐户时,您会看到名册是正确的并且包含来自共享名册的联系人。
虽然不建议拥有大量用户名册,但在依靠共享名册填充用户名册时不会出现巨大的性能损失,因为此功能应该用于中等规模的公司服务器。
【讨论】:
先生,标准名册在性能方面是否优于共享名册?我的意思是当用户集增长时,检索存在会比标准名册花费更多时间吗? 这取决于很多参数,尤其是在您的域上服务的用户数量、不同共享名册的数量等。但通常,如果您要使用的功能与共享名册用例匹配,那么这就是你应该使用的。 @MickaëlRémond 你能给我一些关于以下场景的建议吗:我们有两种类型的用户 A 和 B,现在 B 类型的所有用户都应该能够与 A 类型聊天。是否可以只为所有用户使用一个共享名册组?是否可以绕过两个用户之间的名册授权?请给我一些指导。提前致谢。 在 XMPP 中,名册仅与存在有关。你可以和任何你喜欢的人聊天。以上是关于在 ejabberd 中添加共享名册中的所有用户的主要内容,如果未能解决你的问题,请参考以下文章