Maison > développement back-end > tutoriel php > Comment PHP utilise ActiveMQ

Comment PHP utilise ActiveMQ

小云云
Libérer: 2023-03-19 22:40:02
original
3369 Les gens l'ont consulté

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(&#39;tcp://47.52.119.21:61613&#39;);
  // 2.实例化类
  $obj = new Stdclass();
  // 3.获取数据
  for($i=0; $i<3; $i++){
    $obj->username = &#39;test&#39;;
    $obj->password = &#39;123456&#39;;
    $queneName   = "/queue/userReg";
    // 4.发送一个注册消息到队列
    $stomp->send($queneName, json_encode($obj));
  }
} catch (StompException $e) {
  die(&#39;Connection failed: &#39; . $e->getMessage());
}
Copier après la connexion

Code Consommateur 1consumer1.php :


<?php

$stomp = new Stomp(&#39;tcp://localhost:61613&#39;);
$stomp->subscribe(&#39;/queue/userReg&#39;);

while (true) {
  //判断是否有读取的信息
  if ($stomp->hasFrame()) {
    $frame = $stomp->readFrame();
    $data = json_decode($frame->body, true);
    var_dump($data);
    $stomp->ack($frame);
  }
}
Copier après la connexion
Copier après la connexion

Code Consommateur 2consumer2.php :


<?php

$stomp = new Stomp(&#39;tcp://localhost:61613&#39;);
$stomp->subscribe(&#39;/queue/userReg&#39;);

while (true) {
  //判断是否有读取的信息
  if ($stomp->hasFrame()) {
    $frame = $stomp->readFrame();
    $data = json_decode($frame->body, true);
    var_dump($data);
    $stomp->ack($frame);
  }
}
Copier après la connexion
Copier après la connexion

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(&#39;tcp://47.52.119.21:61613&#39;);
  // 2.实例化类
  $obj = new Stdclass();
  // 3.获取数据
  for($i = 0; $i < 3; $i++){
    $obj->username = &#39;test&#39;;
    $obj->password = &#39;123456&#39;;
    $queneName   = "/topic/userReg";
    // 4.发送一个注册消息到队列
    $stomp->send($queneName, json_encode($obj));
  }
} catch (StompException $e) {
  die(&#39;Connection failed: &#39; . $e->getMessage());
}
Copier après la connexion

Code Consumer1consumer1.php :


<?php

$stomp = new Stomp(&#39;tcp://localhost:61613&#39;);
$stomp->subscribe(&#39;/topic/userReg&#39;);

while (true) {
  //判断是否有读取的信息
  if ($stomp->hasFrame()) {
    $frame = $stomp->readFrame();
    $data = json_decode($frame->body, true);
    var_dump($data);
    $stomp->ack($frame);
  }
}
Copier après la connexion

Consumer2consumer2.php Code :


?php

$stomp = new Stomp(&#39;tcp://localhost:61613&#39;);
$stomp->subscribe(&#39;/topic/userReg&#39;);
while (true) {
  //判断是否有读取的信息
  if ($stomp->hasFrame()) {
    $frame = $stomp->readFrame();
    $data = json_decode($frame->body, true);
    var_dump($data);
    $stomp->ack($frame);
  }
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal