Maison >développement back-end >tutoriel php >Comment utiliser le partage d'instance ActiveMQ avec PHP
Caractéristiques du modèle point à point : Un seul consommateur peut recevoir le message et ne peut pas le consommer à plusieurs reprises. Cet article explique principalement comment utiliser ActiveMQ en PHP. J'espère qu'il pourra vous aider.
Code Producteur producteur.php :
<? 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()); }
Code Consumer1consumer1.php :
<? 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); }}
Code Consumer2consumer2.php :
<?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); }}
Le Le diagramme des résultats de l'exécution est le suivant :
Utiliser le modèle de publication/abonnement (Publish Subscribe)
Fonctionnalités du modèle de publication/abonnement :
Plusieurs consommateurs peuvent recevoir des messages
Peut être consommé à plusieurs reprises
Code Producteur producteur.php :
{ // 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()); }
Consommateur Code 1consumer1.php :
<?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); }}
Code Consumer 2consumer2.php :
<?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); }}
Le résultat de l'exécution est le suivant :
Recommandations associées :
Compréhension connexe des paramètres de session dans ActiveMQ
Problèmes de configuration des appels ajax php-activemq
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!