workerman/mqtt
MQTT는 클라이언트-서버 아키텍처를 기반으로 하는 발행/구독 모델의 메시지 전송 프로토콜로, 현재 사물인터넷(IoT)의 중요한 구성 요소로 자리잡았습니다. 이 프로토콜의 설계 원칙은 가볍고 개방적이며 간단하고 표준화되어 있으며 구현하기 쉬운 것이 특징입니다. 이러한 특성으로 많은 시나리오에 적합하며 특히 기계 간 통신(M2M) 및 사물인터넷(IoT)과 같은 제한된 환경에 특히 적합합니다.
workerman\mqtt는 workerman을 기반으로 하는 비동기 MQTT 클라이언트 라이브러리로, MQTT 프로토콜 메시지를 수신하거나 전송하는 데 사용됩니다. QoS 0
, QoS 1
, QoS 2
를 지원하며, MQTT
3.1
, 3.1.1
, 5
버전을 지원합니다.
프로젝트 주소
https://github.com/walkor/mqtt
설치
composer require workerman/mqtt
예시
subscribe.php
<?php
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker();
$worker->onWorkerStart = function(){
$mqtt = new Workerman\Mqtt\Client('mqtt://test.mosquitto.org:1883');
$mqtt->onConnect = function($mqtt) {
$mqtt->subscribe('test');
};
$mqtt->onMessage = function($topic, $content){
var_dump($topic, $content);
};
$mqtt->connect();
};
Worker::runAll();
명령 프롬프트에서 php subscribe.php start
를 실행하여 시작합니다.
publish.php
<?php
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker();
$worker->onWorkerStart = function(){
$mqtt = new Workerman\Mqtt\Client('mqtt://test.mosquitto.org:1883');
$mqtt->onConnect = function($mqtt) {
$mqtt->publish('test', 'hello workerman mqtt');
};
$mqtt->connect();
};
Worker::runAll();
명령 프롬프트에서 php publish.php start
를 실행하여 시작합니다.