当前位置: 首页 > 工具软件 > PHPMQTT > 使用案例 >

php的mqtt_phpMQTT详解

柴亦
2023-12-01

参考

下载

CloudMQTT 概述

phpMQTT详解

CloudMQTT 除了有php的类库,还有python,java.net等mqtt的类库。

客户端发布

//publish.php

require("phpMQTT.php");

$host = "hostname"; //主机

$port = port; //端口

$username = "username"; //如果没有则为空

$password = "password"; //如果没有则为空

$message = "Hello CloudMQTT!"; //要发送的消息

//phpMQTT 有四个参数:主机,端口,客户端id,证书。官网这里的案例没写证书,请参考phpMQTT类

//没有证书的时候只能连接1883端口,不能连接8883端口。

$mqtt = new phpMQTT($host, $port, "ClientID".rand());

//连接

if ($mqtt->connect(true,NULL,$username,$password)) {

$mqtt->publish("topic",$message, 0);

$mqtt->close(); //关闭

}else{

echo "Fail or time out
";

}

服务端订阅

// 注意:订阅请用窗口或者后台去运行,不要再页面运行。

require("phpMQTT.php");

ignore_user_abort(true); // 后台运行

set_time_limit(0); // 取消脚本运行时间的超时上限

date_default_timezone_set('PRC'); //设置中国时区

$host = "hostname";

$port = port;

$username = "username";

$password = "password";

//同样这里少了证书参数

$mqtt = new phpMQTT($host, $port, "ClientID".rand());

if(!$mqtt->connect(true,NULL,$username,$password)){

exit(1);

}

//currently subscribed topics

$topics['topic'] = array("qos"=>0, "function"=>"procmsg");

$mqtt->subscribe($topics,0);

while($mqtt->proc()){ //无限去请求

}

$mqtt->close();

function procmsg($topic,$msg){//输出消息

echo "Msg Recieved: $msg";

}

注意:再次提醒大家,订阅一定要以进程的方式运行!不要再浏览器中直接运行哦!

qq:1186969412 php群:536633782

推荐一款非常强大的cmf:www.uminicmf.com

 类似资料: