MQTT هو بروتوكول نقل الرسائل بنمط النشر / الاشتراك الذي يعتمد على بنية عميل / خادم وقد أصبح جزءًا مهمًا من الإنترنت الأشياء. تصميمه يعتمد على الخفة والانفتاح والبساطة والمواصفات وسهولة التنفيذ. هذه السمات تجعله خيارًا جيدًا للعديد من السيناريوهات ، خاصة بالنسبة للبيئات المحدودة مثل اتصال الجهاز بالجهاز (M2M) وبيئات الإنترنت الأشياء (IoT).

workerman\mqtt هو مكتبة عميل MQTT غير متزامنة تعتمد على workerman ، يمكن استخدامها لاستقبال أو إرسال رسائل بروتوكول 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 للتشغيل.

واجهة workerman\mqtt\Client