2009-04-17 3 views
1

У меня есть сервер Openfire Jabber, в котором перечислено более 75 000 пользователей. Из них 150 или более могут быть онлайн в любой момент времени.Какие пользователи в настоящее время подключены к серверу Openfire Jabber?

Есть ли где-нибудь, что я могу собрать JIDs (имена пользователей) в настоящее время вошедших в систему пользователей? У меня есть полный доступ к базам данных к базовым данным, но сервер, похоже, не записывает текущий статус в БД. Из-за количества пользователей реестры не используются.

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

ответ

1

Не идеальный ответ, но требуемый запрос, вероятно, встроен в страницу session-summary.jsp. Я получил его на локально размещенном сервере по адресу http://localhost:9090/session-summary.jsp. То, что я не знаю, - это то, что тогда оно хранится в базе данных, где оно доступно для запроса, или если оно хранится внутри клиента. Последнее более вероятно.

Данные, отображаемые на этой странице, это имя, ресурс, статус, присутствие, приоритет, клиентский IP-адрес и закрытие соединения.

+0

Это было бы много страниц, чтобы царапать все же. Я надеюсь на некоторый доступ к БД или, возможно, на подключение к серверу, чтобы получить большой список зарегистрированных в настоящее время JID, возможно, с дополнительной информацией, как указано выше. –

2

Не знаете, поможет ли это, но я столкнулся с этим, ища аналогичную функциональность. Как определено в XEP-0045 http://xmpp.org/extensions/xep-0045.html#disco-roominfo:

Реализация может возвращать список существующих пассажиров, если эта информация является общедоступной доступны, или не возвращают список вообще, если эта информация является приватным. Реализации и развертываниям рекомендуется отключать такой обмен информацией по умолчанию.

Таким образом, вы должны были бы убедиться, что он работает как рекламируется на Openfire (все сервера XMPP ива попадались есть ошибка или два в них), и я думаю, вам нужно будет кодировать определенную логику, чтобы получить результаты.

Удачи.

Смежные вопросы