Stomp::subscribe

stomp_subscribe

(PECL stomp >= 0.1.0)

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

Описание

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

public Stomp::subscribe(string $destination, array $headers = ?): bool

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

stomp_subscribe(resource $link, string $destination, array $headers = ?): bool

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

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

link

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

destination

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

headers

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

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

Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.

Примеры

Смотрите stomp_ack().

Примечания

Подсказка

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

Добавить

Примечания пользователей 1 note

up
0
holycd
8 years ago
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
To Top