openfire获得在线用户

时间:2011-07-28 14:47:53

标签: xmpp openfire

我在客户端上使用OpenFire服务器进行即时消息传递和JSJaC JavaScript库。我是XMPP技术的新手 我想要的是加载我想发送一个用户列表并接收每个用户的状态。像

这样的东西
$(function(){
    var UserList = ["Isis", "Jackob", "Oybek"];
    con.send(UserList, OnComplete);
});


function OnComplete(myList){
    for (el in myList)
        if (el.IsOnline) {
            // Do DOM Stuff
        }
}

有可能吗?
我一直在寻找文档,示例和其他类似的响应,但没有找到任何。

1 个答案:

答案 0 :(得分:3)

您无法查询以进行展示。您可以订阅到状态。如果您发送自己的存在,服务器将向您发送您订阅的每个人的当前状态,以及他们从那里进行的每次更改。没有办法告诉您何时“完成”获得存在,因为你从未完成过。只要你从你订阅的人那里获得更改,就设置一个回调来做一些有趣的事情,你将会处于良好的状态:

con.registerHandler('presence_in', function(p) { 
    var from = p.getFromJID()
    // do something interesting with p, from, etc.
});