想让webman通过MQTT实现的物联网设备消息的订阅消费,查了workerman/mqtt相关手册,试了好几次都没搞定,有没有哪位朋友利用webman实现MQTT客户端的相关示例?
问题已解决,使用方法如下
1、在webman根目录输入命令行
composer require workerman/mqtt
2、在process下创建一个类,如下所示
namespace process;
use Workerman\Worker;
class Mqtttask
{
public static function onWorkerStart()
{
$mqtt = new \Workerman\Mqtt\Client('mqtt://127.0.0.1:1883', array(
//'debug' => true,
"username"=>"admin",
"password"=>"admin",
"client_id"=>"admin"
));
$mqtt->onConnect = function($mqtt) {
$mqtt->subscribe('test');
};
$mqtt->onMessage = function($topic, $content) {
echo "topic:$topic content:$content\n";
};
$mqtt->connect();
}
}
3、编辑config/process.php文件
在return[]内添加进程
'mqtttask'=>[
'handler'=>process\Mqtttask::class,
'count'=>1
]
4、启动webman,即可完成
debug方式运行(用于开发调试)
php start.php start
daemon方式运行(用于正式环境)
php start.php start -d
windows用户用 双击windows.bat 或者运行
php windows.php
没搞定是什么意思?有什么问题发出来
已解决