当用户的数据连接丢失时,如何避免获取XMPP状态更新

时间:2014-07-30 16:08:44

标签: android xmpp asmack tigase

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

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

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

  2. tigase是正确的答案吗?如果启动,我的用户群最多可以是几千个用户,并且更改为更简单的XMPP服务器并不重要吗?

  3. 请求对等方出席会强制服务器重新检查用户的连接状态吗?是否会触发任何在场更新?

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

    提前致谢:)

1 个答案:

答案 0 :(得分:0)

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