EMP 实现消息发布订阅

深碍√TFBOYSˉ_ 2022-05-04 15:28 260阅读 0赞

官网文档

http://emqtt.com/docs/v2/index.html

php 实现消息发布

  • 使用第三方包bluerhinos/phpmqtt

    $mqtt = new phpMQTT(“localhost”, 1883, “clientId”);
    //Change ClientId to something unique,此处必须唯一,一个客户端对应一个id
    if ($mqtt->connect()) {

    1. for($i = 0; $i < 20; $i++) {
    2. sleep(1);

    // $mqtt->publish(‘/Worldd’,’Hello new ‘.$i.’laravel!’,0);

    1. $mqtt->publish("World","Hello laravel! at ".date("r"),0);

    }
    $mqtt->close();
    }

消息订阅

  • php实现

    <?php
    require dirname(DIR) . “/vendor/autoload.php”;
    use Bluerhinos\phpMQTT;

    $server = “localhost”; // change if necessary
    $port = 1883; // change if necessary
    $username = “”; // set your username
    $password = “”; // set your password
    $client_id = “phh-subscriber”; // make sure this is unique for connecting to sever - you could use uniqid()
    $micro_time = round(microtime(true) * 1000);
    $client_id = $client_id . $micro_time;

    $mqtt = new phpMQTT($server, $port, $client_id);

    if (!$mqtt->connect(true, NULL, $username, $password)) {

    1. exit(1);

    }

    function procmsg($topic, $msg)
    {

    1. echo "Msg Recieved: " . date("r") . "\n";
    2. echo "Topic: { $topic}\n\n";
    3. echo "\t$msg\n\n";

    }

    $topics[‘World’] = array(“qos” => 0, “function” => “procmsg”);
    $mqtt->subscribe($topics, 0);

    while ($mqtt->proc()) {

    }

    $mqtt->close();

  • js websocket 订阅消息

端口监听

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,260人围观)

还没有评论,来说两句吧...

相关阅读

    相关 23-消息订阅发布

    消息订阅发布 一、消息订阅发布 组件间通信方式,适用于任意组件间通信。 消息订阅发布需要使用第三方库,例如可以使用pubsub-js: 安装pubsu