我有一个服务,它每分钟运行一次,以检查全局XMPPConnection对象是否已连接并经过身份验证。我发现,在一个小时左右的空闲模式之后,connection对象显示它已连接并进行了身份验证,但它没有收到任何消息。
在连接对象不知道的情况下,连接似乎被断开了。请让我知道我可以实现什么来检查XMPPConnection对象是否真正连接,并且即使在很长一段时间处于不活动状态后也可以接收消息。
感谢你的帮助。
发布于 2017-01-08 15:54:50
嗨,如果你使用的是openfire,那么转到服务器设置,然后选择客户端连接,并将设置更改为Do not disconnect clients that are idle
。
这可以帮助你让用户随时可用。
你的问题的第二个解决方案,如果你没有使用任何服务使用户在线。那就做那件事。
在这里我做了一个一对一聊天的例子,它可以在github上使用。
谢谢,希望这对你有帮助。
发布于 2017-01-02 09:22:32
取决于您的XMPP服务器实现,您可以简单地向自己发送消息并检查是否收到它。
另一种方法是执行XMPP服务发现,获取您的花名册列表等简而言之-做一些需要客户端-服务器通信的事情。
https://stackoverflow.com/questions/41424035
复制