Stomp::subscribe

stomp_subscribe

(PECL stomp >= 0.1.0)

Stomp::subscribe -- stomp_subscribeRegisters to listen to a given destination

Opis

Styl obiektowy (method):

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

Styl proceduralny:

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

Registers to listen to a given destination.

Parametry

link

Tylko styl proceduralny: identyfikator połączenia stomp zwracany przez stomp_connect().

destination

Destination to subscribe to.

headers

Tablica wielowymiarowa zawierająca dodatkowe nagłówki (na przykład: receipt).

Zwracane wartości

Zwraca TRUE w przypadku powodzenia, FALSE w przypadku błędu.

Notatki

Wskazówka

Stomp jest z natury asynchroniczny. Komunikacja synchroniczna może być uzyskana przez dodanie nagłówka receipt (otrzymanie). Spowoduje to, że metody nie będą niczego zwracać, dopóki serwer nie potwierdzi otrzymania wiadomości lub dopóki nie zostanie osiągnięty limit czasowy odczytu.

Przykłady

See stomp_ack().

add a note add a note

User Contributed Notes 1 note

up
-1
holycd
3 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