이번에는 ActiveMQ를 사용한 PHP 사례 분석(코드 포함)을 가져오겠습니다. ActiveMQ를 사용한 PHP의 주의 사항은 무엇입니까?
Point To Point 모델 사용
Point to Point 모델 기능:
한 명의 소비자만 메시지를 받을 수 있습니다.
반복적으로 사용할 수 없습니다.
Producer producer.php code:
<?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()); }
Consumer 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); } }
Consumer 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(Publish Subscribe) 모델 사용
Publish/Subscribe 모델 기능:
여러 소비자가 메시지를 받을 수 있습니다.
반복적으로 소비될 수 있습니다.
Producer producer.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()); }
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 코드:
?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); } }
실행 결과는 다음과 같습니다.
I 이 기사의 사례를 읽은 후 방법을 마스터했다고 믿으십시오. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트에서 다른 관련 기사를 주목하세요!
추천 자료:
php 및 js로 로컬 exe 애플리케이션을 열 때 매개변수를 전달하는 단계에 대한 자세한 설명
고정 경로 아래의 폴더와 파일을 삭제하기 위해 PHP를 구현하는 방법
위 내용은 PHP는 ActiveMQ 사례 분석(코드 포함)을 사용합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!