Heim >Backend-Entwicklung >PHP-Tutorial >So verwenden Sie die ActiveMQ-Instanzfreigabe mit PHP
Merkmale des Punkt-zu-Punkt-Modells: Nur ein Verbraucher kann die Nachricht empfangen und sie nicht wiederholt konsumieren. In diesem Artikel erfahren Sie hauptsächlich, wie Sie ActiveMQ in PHP verwenden. Ich hoffe, er kann Ihnen helfen.
Produzent Producer.php-Code:
<? phptry { // 1.建立连接 $stomp = new Stomp('tcp://47.52.119.21:61613'); // 2.实例化类 $obj = new Stdclass(); // 3.获取数据 for($i=0; $i<3; $i++) { $obj->username = 'test'; $obj->password = '123456'; $queneName = "/queue/userReg"; // 4.发送一个注册消息到队列 $stomp->send($queneName, json_encode($obj)); }} catch (StompException $e) { die('Connection failed: ' . $e->getMessage()); }
Consumer1consumer1.php-Code:
<? php$stomp = new Stomp('tcp://localhost:61613'); $stomp->subscribe('/queue/userReg');while (true) { //判断是否有读取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); }}
Consumer2consumer2.php-Code:
<?php $stomp = new Stomp('tcp://localhost:61613');$stomp->subscribe('/queue/userReg');while (true) { //判断是否有读取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); }}
Der Das Ausführungsergebnisdiagramm lautet wie folgt:
Verwenden Sie das Publish/Subscribe-Modell (Publish Subscribe)
Funktionen des Publish/Subscribe-Modells:
Mehrere Verbraucher können Nachrichten empfangen
Kann wiederholt konsumiert werden
Produzent Producer.php-Code:
{ // 1.建立连接 $stomp = new Stomp('tcp://47.52.119.21:61613'); // 2.实例化类 $obj = new Stdclass(); // 3.获取数据 for($i = 0; $i < 3; $i++) { $obj->username = 'test'; $obj->password = '123456'; $queneName = "/topic/userReg"; // 4.发送一个注册消息到队列 $stomp->send($queneName, json_encode($obj)); }} catch (StompException $e) { die('Connection failed: ' . $e->getMessage()); }
Verbraucher 1consumer1.php-Code:
<?php$stomp = new Stomp('tcp://localhost:61613');$stomp->subscribe('/topic/userReg'); while (true) { //判断是否有读取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); }}
Consumer 2consumer2.php-Code:
<?php$stomp = new Stomp('tcp://localhost:61613');$stomp->subscribe('/topic/userReg'); while (true) { //判断是否有读取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); }}
Das Ausführungsergebnis ist wie folgt:
Verwandte Empfehlungen:
Verwandtes Verständnis der Sitzungseinstellungen in ActiveMQ
php-activemq-Ajax-Aufrufkonfigurationsprobleme
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die ActiveMQ-Instanzfreigabe mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!