如何在openfire中获得“两个”订阅类型

时间:2013-07-12 04:43:06

标签: java android openfire smack asmack

我正在开发一个简单的android聊天应用程序。我正在创建三个用户逐个使用asmack 并在创建时使用提供名册条目 的 roster.createEntry();方法

首先我创建

1。)用户 111 ,有两个名单条目(JID = 222 @ localhost.localdomain,JID = 333 @ localhost.localdomain)

然后我创建了第二个用户

2.)用户 222 ,有两个名单条目(JID = 111 @ localhost.localdomain,JID = 333 @ localhost.localdomain)

然后我创建用户333

3。) 333 ,有两个名单条目(JID = 111 @ localhost.localdomain,JID = 222 @ localhost.localdomain)

这时我看到所有三个用户的名单条目

for user 111

的订阅类型
                  JID=222@localhost.localdomain : "from"

                  JID=333@localhost.localdomain : "from"

for user 222

的订阅类型
                  JID=111@localhost.localdomain : "to"

                  JID=333@localhost.localdomain : "from"
用户333的

的订阅类型
                  JID=111@localhost.localdomain : "to"

                  JID=222@localhost.localdomain : "to"

所以我的问题是虽然所有三个用户都在线,但存在如下

a。)111对于222和333

是“可用的”

b。)222仅“333”可用“

c。)333不适用于任何用户

显然这是由于“来自”状态。但是我希望这一切都在线并且所有都被添加到彼此的名单中,所以我需要所有三个用户名单的“两者”订阅状态。所以他们将是如果他们在线,则互相“可用”。

请帮助我如何实现这一目标。

1 个答案:

答案 0 :(得分:0)

非常简单。打开openfire控制台打开用户选项卡。选择一个用户。 打开用户的名单。在名单中选择任何条目,然后选择该特定条目的open.edit属性。 在编辑窗口中,有一个设置订阅的选项,会出现一个下拉列表,选择“both”。 现在你将在你的申请中收到名册。