OpenFire получить пользователей онлайн - PullRequest
5 голосов
/ 28 июля 2011

Я использую сервер 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 Ответ

3 голосов
/ 30 июля 2011

Вы не можете запросить о наличии.Вы можете подписаться на присутствие.Если вы отправите свое собственное присутствие в, сервер отправит вам текущее присутствие всех, на кого вы подписаны, а также каждое изменение, которое они вносят в свое присутствие, начиная с этого момента. Нет никакого способа узнать, когда вы «сделали»получить присутствие, потому что вы никогда не сделали.Просто установите обратный вызов, чтобы сделать что-то интересное, когда вы получаете присутствие изменение от человека, на которого вы подписаны, и вы будете в хорошей форме:

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