Openfire 4.3.2 Управление потоком не работает Propelry - PullRequest
0 голосов
/ 03 мая 2019

Я использую 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 

Я использую Smack 4.3.2 в своем коде Android.Я заметил одну вещь, если я не закрыл приложение, просто закройте соединение и после переподключения все работает нормально, но если я закрываю приложение, я не получаю сообщение.Как я могу решить проблему

Ответы [ 2 ]

0 голосов
/ 13 июня 2019

Я думаю, что ваша проблема может быть в этом параметре конфигурации или существует призрачный сеанс openfire:

xmpp.client.idle 600000 (10 минут)

Этовремя ожидания клиента, при котором клиент будет отключен, если сервер успешно не пропинговал клиента.Вам следует переосмыслить значение этого параметра и довести его до разумного значения, подходящего для ваших нужд.Для меня это 30 секунд.После этого клиент отключается, и все сообщения отправляются в автономное хранилище, если включены автономные сообщения.

Также есть ошибка с механизмом keepalive.Пожалуйста, проверьте это:

https://issues.igniterealtime.org/browse/OF-963

Сообщается о проблеме для версии 4.0.3.

0 голосов
/ 07 мая 2019

Я думаю, что есть две возможные причины.Одна вещь, которую вы обязательно должны сделать, это закрыть соединение прямо при закрытии приложения.Это своего рода функция onClose.Поскольку соединение все еще может быть доступно на некоторое время или оно простаивает.

Другая причина (в которую я не верю), у меня есть опция в моем интерфейсе openfire, где я могу выбрать, как офлайн-сообщенияобрабатываются.Поэтому также должно быть свойство для вашей версии.

Также есть ошибка с механизмом keepalive.Пожалуйста, отметьте это:

https://issues.igniterealtime.org/browse/OF-963

Сообщается о проблеме для версии 4.0.3.

...