openfire设置一个账号同时登录并可同时接收消息

来源:互联网 发布:延边大米 知乎 编辑:程序博客网 时间:2024/06/06 01:24
项目设计中使用了openfire服务器。根据需求,需要满足多个手机客户端同时使用一个账号登录,这样以来可以满足对应的管理账号有消息时,多个手机客户端均可收到。简单的数据流程图如下:

手机端账号:C@domain

管理端账号:G@domain/G

上行数据:

C@domain/xxx  -> openfire -> G@domain/G

C@domain/yyy  -> openfire -> G@domain/G

下行数据:

                        | -> C@domain/xxxG@domain/G -> openfire  |                        | -> C@domain/yyy

其中资源名xxx和yyy可以使用手机客户端的时间生成。

在网络上看到大多数文章讲到在openfire服务器中设置route.all-resources=true即可。而在测试中发现如果只设置这个,那多个客户端使用同一个账号是可以同时登录,但G@domain/G发送来的消息只能转发到最后一个登录

的客户端上。搜索中看到了这个文章https://community.igniterealtime.org/thread/43605,于是将客户端的优先级设置为一样,然后在管理端发送消息时,不指定资源即可。

这样所有客户端就都可以收到消息了。

0 1