怎么使用laravel加载第三方类mqtt 订阅信息?

Foxalone 2019-06-01 10:33:30
新人初来乍到,麻烦请假一下大家! 公司让我做一个项目,大概流程 订阅mqtt服务器的内容。然后用php接受信息存入数据库。mqtt服务器不知道如何配置,第三方类也不知道用哪个合适。
...全文
892 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
南风雨琴 2021-03-18
  • 打赏
  • 举报
回复
请问,是否有解决的方案,感谢
Stephen_112 2021-03-18
  • 打赏
  • 举报
回复
我给你看点代码。

require_once __DIR__ . '/vendor/autoload.php';
require_once __DIR__ . "/Connection.php";

use Workerman\Worker;

$worker = new Worker();
$worker->onWorkerStart = function () {

    // 初始化数据库信息
    $host = "";
    $db_username = '';
    $db_password = '';
    $database = '';

    global $db;
    $db = new \Workerman\MySQL\Connection($host, '3306', $db_username, $db_password, $database);

    $username = "";
    $password = "";
    $client_id = "";
    $arr = [
        'username' => $username,
        'password' => $password,
        'client_id' => $client_id,
    ];
    $mqtt = new Workerman\Mqtt\Client('mqtt订阅地址', $arr);
    $mqtt->onConnect = function ($mqtt) {
        $mqtt->subscribe('mqtt订阅', 0);
    };
    $mqtt->onMessage = function ($topic, $content) {
       
	   //mqtt 收到数据后会触发onmessage方法,
	   //$content中就是mqtt服务器端推送的内容
       //这里写存数据的逻辑就行

    };
    $mqtt->connect();

};
Worker::runAll();
Stephen_112 2021-03-18
  • 打赏
  • 举报
回复
我这里有一个现成的例子,但是是在workman中写的,如果要放到laravel中需要自己去改造了,中心思想其实就是异步去监听mqtt订阅接口,接口不定时会返回数据,把返回的数据存入数据 库中。其他的应该就没啥大问题了。

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧