2011-07-28 39 views
5

我在客户端上使用OpenFire服务器实现即时消息传递和JSJaC JavaScript库。我是XMPP技术的新成员。
我想要的是负载我想发送一个用户列表并接收每个用户的状态。类似于openfire获取在线用户

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


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

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

回答

3

您不能查询的存在。您可以订阅到场。如果您发送自己的名片,服务器会向您发送您已订阅的每个人的当前状态,以及他们从那里进行的所有更改。没有办法告诉您何时“完成”得到的存在,因为你从来没有完成。只需设置一个回叫,当你得到一个存在改变从你订阅的人,你会很好:

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