Stomp::subscribe

stomp_subscribe

(PECL stomp >= 0.1.0)

Stomp::subscribe -- stomp_subscribeРегистрирует подписку на указанную рассылку

Описание

Объектно-ориентированный стиль (метод):

public bool Stomp::subscribe ( string $destination [, array $headers ] )

Процедурный стиль:

bool stomp_subscribe ( resource $link , string $destination [, array $headers ] )

Регистрирует подписку на указанную рассылку.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения stomp, полученный из stomp_connect().

destination

Рассылка, на которую необходимо зарегистрировать подписку.

headers

Ассоциативный массив, содержащий дополнительные заголовки (пример: receipt).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Подсказка

Stomp асинхронен по своей сути. Синхронная связь может быть реализована добавлением receipt-заголовка. Это заставит методы ничего не возвращать, пока сервер не подтвердит получение сообщения или не будет достигнут таймаут сообщения.

Примеры

См. stomp_ack().

Коментарии

Автор:
Using Topics from PHP over Stomp
$clientId = 'test:dev';
$topic  = '/topic/perm.user';

try {
    $stomp = new Stomp('tcp://localhost:61613','system','manager', array('client-id'=> $clientId ));
} catch(StompException $e) {
    die('Connection failed: ' . $e->getMessage());
}

$isSubscribe = $stomp->subscribe($topic);

while($isSubscribe){
    if ($stomp->hasFrame()) {
        $frame = $stomp->readFrame();
        if ($frame != NULL) {
            print "Received: " . $frame->body . " - time now is " . date("Y-m-d H:i:s"). "\n";
//            $stomp->ack($frame);
        }
//       sleep(1);
    }
    else {
        print "No frames to read\n";
    }
}
if($isSubscribe){
    $stomp->unsubscribe($topic);
    unset($stomp);
}

Can not receive the topic frame
2017-07-27 05:50:07
http://php5.kiev.ua/manual/ru/stomp.subscribe.html

    Поддержать сайт на родительском проекте КГБ