0

我正在构建一个具有聊天功能的 android 应用程序,它使用 tigase 的 XMPP 服务器。我遇到了这个整洁的问题;当用户的数据连接断开时,在线状态仍显示为在线。我在 tigase 论坛上读到这是典型的行为。默认情况下,更新状态大约需要 10 分钟。

但是,我们都知道像 Gtalk 这样的聊天应用程序曾经在这种情况下正确地显示存在。所以我的问题是:

  1. 这在 XMPP 中正常吗?什么技巧/黑客/解决方法将帮助我克服这个问题?(我已经尝试编辑init.properties文件并重新启动超时10s,但仍然没有响应)

  2. tigase 是正确的答案吗?如果启动,我的用户群最多将有几千个用户,并且更改为更简单的 XMPP 服务器也没关系吗?

  3. 请求对等点的存在会强制服务器重新检查用户的连接状态吗?这会触发任何状态更新吗?

我的客户库是 Asmack。(如果有帮助的话)

提前致谢 :)

4

1 回答 1

0

我实际上是 xmpp 的新手,我尝试使用 tigase 作为客户端 lib 和 openfire 作为服务器,在简单的官方示例中,如果客户端使用类 tigase.jaxmpp.j2se.Jaxmpp 的 disconnect() 方法,状态显示在该客户端的服务器将处于离线状态(即不在客户端列表中),否则在客户端离开后状态将长时间处于在线状态。我不知道 openfire 和 tigase 在这种客户离开时是否使用相同的机制。

于 2014-08-03T10:09:19.270 回答