Stomp::subscribe

stomp_subscribe

(PECL stomp >= 0.1.0)

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

Descrierea

Stil obiect-orientat (method):

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

Stil procedural:

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

Registers to listen to a given destination.

Parametri

link

Doar stilul procedural: Identificatorul legăturii stomp întors de stomp_connect().

destination

Destination to subscribe to.

headers

Un tablou asociativ conținând antetele suplimentare (de exemplu: receipt).

Valorile întoarse

Întoarce valoarea true în cazul succesului sau false în cazul eșecului.

Note

Sfat

Stomp este în mod inerent asincron. O comunicare sincronă poate fi implementată adăugând un antet cu confirmare. Aceasta va face ca metodele să nu întoarcă nimic până când serverul confirmă primirea mesajului sau până când se atinge limita maximă de timp pentru citire.

Exemple

See stomp_ack().

add a note add a note

User Contributed Notes 1 note

up
0
holycd
7 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