Maison > Article > développement back-end > Comment PHP utilise ActiveMQ
Cet article partage principalement avec vous des exemples d'utilisation d'ActiveMQ avec PHP. Nous avons partagé l'exemple de code et expliqué les points pertinents. Les amis dans le besoin peuvent s'y référer. J'espère que cela aide tout le monde.
Utiliser le modèle point à point
Caractéristiques du modèle point à point :
Un seul consommateur peut recevoir le message
Ne peut pas être consommé à plusieurs reprises
Code producteur producteur.php :
<?php try { // 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 Consommateur 1consumer1.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 Consommateur 2consumer2.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 diagramme de résultat 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 :
<?php try { // 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()); }
Code Consumer1consumer1.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); } }
Consumer2consumer2.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); } }
Le résultat de l'exécution est le suivant :
Recommandations associées :
Comment PHP utilise les exemples ActiveMQ pour partager
Exemples de code Java ActiveMQ Partager
Compréhension connexe des paramètres de session dans 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!