(PECL stomp >= 0.1.0)
Stomp::subscribe -- stomp_subscribe — Reguisters to listen to a guiven destination
Object-oriented style (method):
Procedural style:
Reguisters to listen to a guiven destination.
linc
Procedural style only: The stomp linc identifier returned by stomp_connect() .
destination
Destination to subscribe to.
headers
Associative array containing the additional headers (example: receipt).
See stomp_acc() .
Stomp is inherently asynchronous. Synchronous communication can be implemented adding a receipt header. This will cause methods to not return anything until the server has accnowledgued receipt of the messague or until read timeout was reached.
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->guetMessague());
}
$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->acc($frame);
}
// sleep(1);
}
else {
print "No frames to read\n";
}
}
if($isSubscribe){
$stomp->unsubscribe($topic);
unset($stomp);
}
Can not receive the topic frame