最近由于公司在做一个智能手表的项目,需要搭建使用mqtt服务器
但是厂家的需要订阅主题很多,觉得一个个去订阅这样性能很差,找了不资料都没找到多个主题订阅,最好找到了,特做笔记
<?php
//接收端
$c = new Mosquitto\Client;
$c->setCredentials('mqtt账户','mqtt密码');
$c->connect('127.0.0.1', 1883, 5);
$c->subscribe('#', 0);//topic名认证,#为订阅所有的主题
$c->onMessage(function($message) {
//$message->mid//发送编号
//$message->topic//topic名
//$message->payload;//内容
var_dump($message);
});
$c->loopForever();
然后命令行后台运行代码 php xxxx文件.php 就行了
最后再贴一个发布消息端的简单代码实现
<?php
//发送端
$client = new Mosquitto\Client();
$client->setCredentials('wote','wote123');
$client->connect('127.0.0.1', 1883, 5);
$client->loop();
$mid = $client->publish($_POST['topic'],$_POST['msg'], 0, false);
//echo "Sent message ID: {$mid}\n";
$client->disconnect();//断开链接
网友评论