2013-04-12 26 views
0

我正在为ios编写一个聊天应用程序,我有一个ejabberd服务器的本地安装,我的xcode项目上的xmppframework和Web服务器上的xmpphp框架。我只需要知道如何检索我服务器中所有活动用户的列表?我能做些什么?我已经能够发送消息beetween两个特定的用户,我能够通过PHP注册和删除用户,但我找不到一段代码解释我如何才能检索在线用户列表.. 。 我已经设置好的像这样的链接ejabberd服务器上的共享名册解释:http://www.ejabberd.im/shared-roster-all(例如1)Ejabberd xmpp活动用户列表

也许我的解决办法是XEP-0133?我发现这对文档:

<iq from='[email protected]/globe' 
id='get-active-users-1' 
to='shakespeare.lit' 
type='set' 
xml:lang='en'> 
<command xmlns='http://jabber.org/protocol/commands' 
     action='execute' 
     node='http://jabber.org/protocol/admin#get-active-users'/> 
</iq> 

似乎提取所有活跃用户,反正我不知道我怎样才能PHP向服务器发送该XML。所以我的问题是;

我如何通过PHP回顾我的ejabberd服务器上的活动用户列表? 我如何检查存在(如果在线)o指定的用户?

回答

0

你想为自己检索数据还是想让它成为操作的一部分?

ejabberd有一堆数据的web界面,但我没有一个附近的检查。

当我需要做adhoc查询时,我看看会话表。它拥有所有活动会话。 你在哪里开会?在mnesia?

这里是链接到Web界面:http://www.ejabberd.im/files/doc/guide.html#htoc20

+0

的数据我有以检索将成为应用程序的操作的一部分。在这个聊天中,我想看到像所有其他聊天一样的活跃用户。类似Facebook的聊天,Skype的聊天ECC ...我想检索一个用户名列表放置在用户的名字旁边的经典绿点... – cri1682

+0

是不是它的名册信息的一部分? – user425720

+0

我可以检查吗? – cri1682