PHP搭建Workerman + MQTT 搭建物联网传输环境 最近一个项目需要用到MQtT作为物联网传输协议, 为防止以后再用到的时候方便配置,特此记录, 有不对的地方请指正并一起学习 M
最近一个项目需要用到MQtT作为物联网传输协议, 为防止以后再用到的时候方便配置,特此记录, 有不对的地方请指正并一起学习
MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议,已经成为物联网的重要组成部分。它的设计思想是轻巧、开放、简单、规范,易于实现。这些特点使得它对很多场景来说都是很好的选择,特别是对于受限的环境如机器与机器的通信(M2M)以及物联网环境(ioT)。
安装基础环境已经有前辈很完整的介绍, 这里不再过多赘述
Workerman是一款纯php开发的开源高性能的PHP 应用容器。
Workerman不是重复造轮子,它不是一个mvc框架,而是一个更底层更通用的服务框架,你可以用它开发tcp代理、梯子代理、做游戏服务器、邮件服务器、ftp服务器、甚至开发一个php版本的Redis、php版本的数据库、php版本的Nginx、php版本的php-fpm等等。Workerman可以说是PHP领域的一次创新,让开发者彻底摆脱了PHP只能做WEB的束缚。
实际上Workerman类似一个PHP版本的nginx,核心也是多进程+Epoll+非阻塞IO。Workerman每个进程能维持上万并发连接。由于本身常驻内存,不依赖Apache、nginx、php-fpm这些容器,拥有超高的性能。同时支持TCP、UDP、UNIXSocket,支持长连接,支持websocket、Http、WSS、https等通讯协议以及各种自定义协议。拥有定时器、异步socket客户端、异步Redis、异步Http、异步消息队列等众多高性能组件。
centos 7 安装MQTT服务器mosquitto
设置链接账号密码
port
前面的#
注释掉, 并将1883改为其他内容mosquitto -c /etc/mosquitto/mosquitto.conf -d
Connected
即表示连接成功composer config -g repo.packaGISt composer https://mirrors.aliyun.com/composer/composer require workerman/mqtt
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 启动
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 启动
其他配置参数(账号\密码\client_id等)请前往Workerman官网查看
来源地址:https://blog.csdn.net/Simplegif/article/details/124568405
--结束END--
本文标题: PHP搭建Workerman + MQTT 搭建物联网传输环境
本文链接: https://lsjlt.com/news/423288.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0