這次給大家帶來PHP使用ActiveMQ案例分析(附代碼),PHP使用ActiveMQ的注意事項有哪些,下面就是實戰案例,一起來看一下。
使用點對點(Point To Point)模型
點對點模型特點:
生產者producer.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());}
消費者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); }}
消費者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); }}
執行結果圖如下:
使用發布/訂閱(Publish Subscribe)模型
發布/訂閱模型特點:
多個消費者都可以收到訊息
能重複消費
生產者producer.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 = "/topic/userReg"; // 4.發送一個註冊訊息到隊列 $stomp->send($queneName, json_encode($obj)); }} catch (StompException $e) { die('Connection failed: ' . $e->getMessage());}
消費者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); }}
消費者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); }}
執行結果圖如下:
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
php與js開啟本地exe應用程式傳遞參數步驟詳解
如何?php刪除固定路徑下檔案夾與檔案