我有一个运行的OpenFire服务器(它使用MySQL作为数据库),并且正在尝试使PHP http预绑定系统(使用SASL)与我的Web应用程序一起工作.
我已经进入我的应用程序的一部分,我需要选择一个尚未在线的随机用户名(对于来宾用户).我当时想选择一些随机用户(在我创建的Guests组中),然后使用Presence Service插件检查其在线状态,直到找到可用的用户(离线用户)为止.
有没有更好的方法来获取离线/在线用户列表?
服务器是否将用户的在线状态存储在数据库中?
我一直在看OpenFire数据库,但我不知道.
谢谢.
解决方法:
我为Openfire编写了一个小插件(借助其他一些非常简单的插件,我无需深入研究Openfire API文档即可插入该插件),该插件基本上会在线散发JSON编码的用户列表.然后,我可以抓住它并运行json_decode并遍历整个数组.我目前无法找到来源,但似乎其他人也这样做了:
http://community.igniterealtime.org/thread/45107
编辑:
我注意到上面帖子中链接到的Github项目现在已经消失了,但是我会尝试与他们联系,看看他们是否仍然有.
另一个编辑:
链接到Github存储库:https://github.com/candy-chat/onlineUsersPlugin