我将openfire 4.3.2用作XMPP聊天服务器,我的问题是当我突然关闭该应用程序时,几秒钟后,当我再次打开该应用程序时,我没有收到这些消息(在那几个中发送关闭我的应用的秒数)这是服务器的属性。
httpbind.CORS.domains *
httpbind.CORS.enabled true
httpbind.enabled true
httpbind.forwarded.enabled false
log.debug.enabled true
passwordKey hidden
plugin.callback_on_offline.debug true
plugin.callback_on_offline.send_body true
plugin.callback_on_offline.token 884d8014-006f-4495-8290-7b53801c8f89
plugin.callback_on_offline.url http://ec2-*-***-***-***.compute-1.amazonaws.com:3000/user/offline/message
plugin.userservice.secret WjVSdHFw
provider.admin.className org.jivesoftware.openfire.admin.DefaultAdminProvider
provider.auth.className org.jivesoftware.openfire.auth.DefaultAuthProvider
provider.group.className org.jivesoftware.openfire.group.DefaultGroupProvider
provider.lockout.className org.jivesoftware.openfire.lockout.DefaultLockOutProvider
provider.securityAudit.className org.jivesoftware.openfire.security.DefaultSecurityAuditProvider
provider.user.className org.jivesoftware.openfire.user.DefaultUserProvider
provider.vcard.className org.jivesoftware.openfire.vcard.DefaultVCardProvider
register.inband true
register.password hidden
sasl.mechs.00002 PLAIN
sasl.scram-sha-1.iteration-count 4096
stream.management.active true
update.lastCheck 1556532896226
xmpp.auth.anonymous true
xmpp.client.idle 600000
xmpp.client.idle.ping true
xmpp.domain 18.224.19.131
xmpp.filetransfer.enabled true
xmpp.server.session.allowmultiple false
xmpp.server.session.idle 600000
xmpp.server.session.timeout 600000
xmpp.session.conflict-limit 1
xmpp.socket.ssl.active true
我在我的android代码中使用Smack 4.3.2。 我注意到一件事,如果我不关闭应用程序,只是关闭连接,重新连接后一切正常,但是如果我关闭应用程序,则不会收到消息。我该如何解决这个问题
答案 0 :(得分:0)
我认为有两个可能的原因。 您应该明确地做的一件事就是在应用程序关闭时立即关闭连接。有一种onClose函数。由于连接可能仍然可用或处于空闲状态。
另一个原因(我不相信),我在openfire界面中有一个选项,可以选择如何处理脱机消息。因此,您的版本还必须有一个属性。
答案 1 :(得分:0)
我认为您的问题可能是此配置参数或存在openfire鬼会话:
xmpp.client.idle 600000(10分钟)
这是客户端空闲超时,如果服务器未成功ping通客户端,则客户端将断开连接。您应该重新考虑此参数的值,并将其降低到适合您需要的合理值。对我来说是30秒。该客户端断开连接后,如果启用了脱机消息,则所有消息都将进入脱机存储。
还有一个带有keepalive机制的bug。请检查以下内容:
https://issues.igniterealtime.org/browse/OF-963
报告了版本4.0.3的问题。