近期业务需要,调研和使用基于mqtt协议的mosquitto,开发一个消息推送系统。
环境:ubuntu 14.04,php7.1,mosquitto
安装mosquitto
sudo apt-get install mosquitto
安装PHP的mosquitto扩展
- sudo pecl install Mosquitto-alpha
- 然后把"extension=mosquitto.so "加到" php.ini"
- 重启PHP
编写PHP代码,vim MqttMessage.php
class MqttMessage{
public function Message(){
$client = new Mosquitto\Client();
$client->onConnect(function($code, $message) use ($client) {
var_dump($code);
var_dump($message);
$client->subscribe('testing', 0);//订阅topic为testing的消息
});
$client->onMessage(function($message) use($client){
echo $message->topic, "\n", $message->payload, "\n\n";
$client->publish('testing2','testing2',0);//想topic为testing2,发布消息“testing2”
});
$client->connect('127.0.0.1', 1883);
$client->loopForever();
}
}
$mqtt =new MqttMessage();
$mqtt->Message();
运行PHP脚本
php MqttMessage.php
发布消息
mosquitto_pub -t testing -m testing-messgae
php脚本接受到消息并且打印出来
PHP脚本中,在收到消息后,会发布一个消息到topic为testing2中,后台会接收消息
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。