Пользователи OpenFire Online/Offline в PHP

У меня работает сервер OpenFire (он использует MySQL в качестве своей базы данных), и я пытаюсь заставить систему предварительной привязки PHP http (используя SASL) работать с моим веб-приложением.

Я добрался до части своего приложения, где мне нужно выбрать случайное имя пользователя, которого еще нет в сети (для гостевых пользователей). Я думал о том, чтобы выбрать нескольких случайных пользователей (в созданной мной группе «Гости») и использовать плагин Presence Service для проверки их онлайн-статуса, пока я не найду доступного (пользователя, который не в сети).

Есть ли лучший способ получить список оффлайн/онлайн пользователей?

Сохраняет ли сервер онлайн-статус пользователей в базе данных? Я искал базу данных OpenFire, но не могу понять.

Спасибо.


person Iansen    schedule 05.06.2012    source источник


Ответы (2)


Я написал небольшой плагин для Openfire (с помощью какого-то другого действительно простого плагина, который я мог подключить, не копаясь в документации Openfire API), который в основном выдает закодированный JSON список пользователей онлайн. Затем я мог бы просто взять это, запустить json_decode и прокрутить массив. Я не могу найти источник в данный момент, но кажется, что это сделал кто-то другой:

http://community.igniterealtime.org/thread/45107

РЕДАКТИРОВАТЬ:

Я заметил, что проект Github, на который ссылается вышеприведенный пост, больше не существует, но я бы попытался связаться с ними и посмотреть, есть ли он у них.

ДРУГОЕ РЕДАКТИРОВАТЬ:

Ссылка на репозиторий Github: https://github.com/candy-chat/onlineUsersPlugin.

person cvaldemar    schedule 05.06.2012
comment
Спасибо Квальдемар. Глядя на это сейчас. - person Iansen; 05.06.2012
comment
Как раз то, что я искал. Спасибо. - person Iansen; 05.06.2012

В реестре пользователя вы можете получить онлайн и оффлайн пользователей. Также вы можете получить сообщение о статусе онлайн-пользователей из списка.

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

person srbhbarot    schedule 05.06.2012
comment
@srbhbarot.. Яр, не могли бы вы сказать мне, как я могу подписаться на пользователей ?? - person Gaurav Arora; 11.10.2012