2015-07-07 2 views
1

У нас есть ejabberd, установленный на нашем сервере.Последняя активность для всех пользователей на ejabberd

Я использую asmack 4.0.7 для взаимодействия с сервером ejabberd.

Я хочу знать последние действия (XEP-0012) всех пользователей.

У меня есть 10 учетных записей пользователей на нашем сервере. viz [email protected], [email protected], [email protected] и т. д.

Поведение ejabberd заключается в том, что для поиска последней активности пользователя этот пользователь должен войти. Я хочу проверить последний деятельность [email protected], он должен будет войти в систему.

Если я зарегистрируюсь как [email protected], то я успешно получаю последнюю активность для [email protected] При входе в систему john, если я получаю последние действия для [email protected], [email protected] или любого другого пользователя, я получаю service-unavailable ответ для сервера ejabberd.

<iq from='[email protected]/Smack' to='[email protected]/Smack' type='error' id='uHn-5'> <query xmlns='jabber:iq:last'/><error code='503' type='cancel'> <service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/> </error></iq>

Мое требование заключается в том, чтобы получить последнюю активность без логинов для всех пользователей.

Возможно ли это?

Пожалуйста, дайте мне знать, если для этого запроса требуется какая-либо другая информация.

благодаря

ответ

1

Если вы хотите последнюю активность всех пользователей, это, вероятно, для задач внутреннего интерфейса. Вы не должны этого делать с помощью клиентского протокола XMPP, но с базовым модулем (плагин ejabberd или чтением из последней базы данных).

+0

Mickaël, спасибо за ценную обратную связь. В аналогичных строках, Я хотел бы знать, если ответ будет таким же, если я изменил запрос из последнего действия (XEP-0012) на хранилище автономных сообщений (XEP-0160) всех пользователей. Я хочу знать автономное хранилище сообщений (XEP-0160) всех пользователей. Поведение ejabberd заключается в том, что для того, чтобы знать автономное сообщение пользователя, этот пользователь должен войти в систему. Я хочу проверить автономное сообщение для [email protected], он должен будет войти в систему. Мое требование состоит в том, чтобы восстановить офлайн-сообщение сообщений без входа в систему для всех пользователей. –

+0

Да, тот же комментарий XEP-0160 определяет поведение клиента, а не внутреннюю обработку. Никакой «клиент» не будет загружать все офлайн-сообщения всех пользователей. Вы должны проектировать свое решение совершенно по-другому. –

+0

Mickael iam всегда в последний раз замеченный как 9223372036854775807 Вот мой код, пожалуйста, помогите мне http://stackoverflow.com/questions/41312742/ios-xmpp-get-last-seen-of-a-user –