Android 当用户';使用tigase断开数据连接

Android 当用户';使用tigase断开数据连接,android,xmpp,asmack,tigase,Android,Xmpp,Asmack,Tigase,我正在构建一个带有聊天功能的android应用程序,它使用一个XMPP服务器,即tigase。 我偶然发现了这个问题;当用户的数据连接断开时,状态仍然显示为联机。我在tigase论坛上读到这是典型的行为。默认情况下,更新状态大约需要10分钟 但是,我们都知道,像Gtalk这样的聊天应用在这种情况下可以正确地显示状态。因此,我的问题是: 这在XMPP中正常吗?什么样的技巧/技巧/解决方法可以帮助我克服这个问题?(我已经尝试编辑init.properties文件并重新启动10秒,但仍然没有响应) t

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

但是,我们都知道,像Gtalk这样的聊天应用在这种情况下可以正确地显示状态。因此,我的问题是:

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

  • tigase是正确答案吗?如果这样做的话,我的用户群最多会有几千人,换成更简单的XMPP服务器也没关系吧

  • 请求对等机的存在会迫使服务器重新检查用户的连接状态吗?这会触发任何状态更新吗

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


    提前感谢:)

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

    我下载了tigase的源代码,并在其客户端通信中手动更改了计时器。我能用那些定时器实现这一点。我认为可以调整init.properties中的c2s/XXXX设置来实现同样的效果。但这将为大型实现加载服务器。@tdevinda很抱歉,从那时起我没有了解更多关于tigase客户端的信息。与aSmack相比,文档还不成熟。不用担心。我仍然需要在另一台服务器上复制它。我会在完成后尽快发布结果。@tdevinda酷!祝你好运。