Как обойтись без получения обновлений присутствия XMPP, когда пользователь теряет соединение с данными с помощью tigase

Я создаю приложение для Android с функцией чата, которая использует сервер XMPP, который является Tigase. Я столкнулся с этим аккуратным вопросом о котором; Когда соединение данных пользователя прерывается, состояние присутствия по-прежнему отображается как онлайн. Я читал на форумах Tigase, что это типичное поведение. По умолчанию для обновления статуса требуется около 10 минут.

Но мы все знаем, что приложения чата, такие как Gtalk, использовали для правильного отображения присутствия в подобных ситуациях. Итак, мои вопросы:

  1. Это нормально в XMPP? Какой трюк / хак / обходной путь поможет мне преодолеть это? (Я уже пытался отредактировать файл init.properties и перезапустить его в течение тайм-аута 10 с, но ответа по-прежнему нет)

  2. Является ли Tigase правильный ответ? Моя пользовательская база будет составлять максимум пару тысяч пользователей, если это запустится, и не будет ли важно перейти на более простой XMPP-сервер?

  3. Будет ли запрос на присутствие для однорангового узла заставит сервер перепроверить состояние соединения пользователей? это вызовет какие-либо обновления присутствия?

Моя клиентская библиотека - Asmack. (если это поможет)

Заранее спасибо:)

1 ответ

Я новичок в xmpp на самом деле, и я пытаюсь использовать tigase в качестве клиента lib и openfire в качестве сервера, и в простом официальном примере, если клиент использует метод nectnect() класса tigase.jaxmpp.j2se.Jaxmpp, статус которого показан в сервер этого клиента будет в автономном режиме (то есть не в списке клиентов), в противном случае статус будет онлайн в течение длительного времени после ухода клиента. Я не знаю, используют ли openfire и tigase один и тот же механизм для такого рода клиентских отпусков.

Другие вопросы по тегам