Не удается получить список пользователей (список) из xmpphp

У меня есть приложение, в котором я отправляю сообщение xmpp на некоторые устройства. Это успешно работает. Но теперь я хочу получить список (список подключенных пользователей) и получаю пустой массив, однако там 4 пользователя. Вот мой код

   require_once($_SERVER["DOCUMENT_ROOT"]."/lib/xmpphp/XMPP.php");
    $con=$conf->getXMPPObj();
    try {
            $con->useEncryption(false);
            $con->connect();
            $con->processUntil('session_start');
            $con->presence();
            $roster=$con->roster->getRoster();
            var_dump($roster);
            //$con->processUntil('roster_received');
            if (strpos($_POST['msg'],'CamMode')!==false)
            {
                $con->message("user@host" ,$_POST['msg']);
            }
            else
            {
                $con->message("user@host",$_POST['msg']);
            }     
            $con->disconnect();
        } 
        catch(XMPPHP_Exception $e) 
        {
            die($e->getMessage());
        }

сообщения успешно отправляются, но дамп $roster пуст. Что случилось?


person Sergey Scopin    schedule 12.03.2015    source источник


Ответы (1)


Я добавляю это: $con->processUntil(array('session_start', 'roster_received')); и $con->processTime(5); Это сработало для меня.

        ...
        $con->connect();
        $payloads = $con->processUntil(array('session_start', 'roster_received'));
        $con->presence();
        $con->processTime(5);
        $roster = $con->roster->getRoster();
        ...
person Community    schedule 12.07.2015