CakeFest 2024: The Official CakePHP Conference

Stomp::subscribe

stomp_subscribe

(PECL stomp >= 0.1.0)

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

Beschreibung

Objektorientierter Stil (method):

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

Prozeduraler Stil:

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

Registers to listen to a given destination.

Parameter-Liste

link

Nur für prozedurale Aufrufe: Die Stomp-Verbindung, die von stomp_connect() zurückgegeben wurde.

destination

Destination to subscribe to.

headers

Assoziatives Array, welches alle zusätzlichen Header beinhaltet (z. B. receipt).

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Beispiele

See stomp_ack().

Anmerkungen

Tipp

Eine grundlegende Eigenschaft von Stomp ist die Synchronität. Synchrone Kommunikation kann durch das Hinzufügen eines Empfangsheaders (receipt-Header) implementiert werden. Dies führt dazu, dass Methoden solange nichts zurückgeben, bis der Server den Empfang der Nachricht bestätigt hat oder der Lese-Timeout überschritten wurde.

add a note

User Contributed Notes 1 note

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