一個基於 swoole 的異步 mqtt 客戶端庫,可用於接收或者發送 mqtt 協議的消息。支持 QoS 0、QoS 一、QoS 2。支持 MQTT 3.1 和 3.1.1 版本.php
composer require try-to/swoole_mqtt
subscribe.phpgit
<?php use TrytoMqtt\Client; require_once __DIR__ . '/vendor/autoload.php'; $options = [ 'clean_session' => false, 'client_id' => 'demo-subscribe-123456', 'username' => '', 'password' => '', ]; $mqtt = new Client('127.0.0.1', 1883, $options); $mqtt->onConnect = function ($mqtt) { $mqtt->subscribe('/World'); }; $mqtt->onMessage = function ($topic, $content) { var_dump($topic, $content); }; $mqtt->onError = function ($exception) use ($mqtt) { echo "error\n"; // $mqtt->reconnect(1000); }; $mqtt->onClose = function () { echo "close\n"; }; $mqtt->connect();
命令行運行 php subscribe.php
啓動github
publish.phpswoole
<?php use TrytoMqtt\Client; require_once __DIR__ . '/../vendor/autoload.php'; $options = [ 'clean_session' => false, 'client_id' => 'demo-publish-123456', 'username' => '', 'password' => '', ]; $mqtt = new Client('127.0.0.1', 1883, $options); $mqtt->onConnect = function ($mqtt) { $mqtt->publish('/World', 'hello swoole mqtt'); }; $mqtt->onError = function ($exception) { echo "error\n"; }; $mqtt->onClose = function () { echo "close\n"; }; $mqtt->connect();
命令行運行 php publish.php
啓動session