0

不是很理解mqtt协议到底是什么意思。
我自己用swoole搭建过一个服务器接收客户端的消息。
mqtt协议又是什么意思?。 swoole支持吗?

$server = new swoole_server("127.0.0.1", 9503);
$server->on('connect', function ($server, $fd){
    echo "connection open: {$fd}\n";
});
$server->on('receive', function ($server, $fd, $reactor_id, $data) {
    $server->send($fd, "Swoole: {$data}");
    $server->close($fd);
});
$server->on('close', function ($server, $fd) {
    echo "connection close: {$fd}\n";
});
$server->start();

是不是搭建的时候也像搭建swoole的tcp协议服务器差不多??。那阿里云服务器提供的mqtt服务又是什么意思?。 自己能搭的用阿里云提供的话怎么使用逻辑层代码? 搞不灵清。。。

2019-03-07 提问
2 个回答
1

已采纳

MQTT常用于物联网, 基于TCP, 轻量级, 适用于弱网环境, 一些推送通知就用MQTT协议
典型特征:
1, 通过Qos约定消息最多发送一次、最少发送一次、必须成功一次;
2, subscribe/publish机制, 订阅方定于一个Topic, 之后服务端有相关Topic更新会向下推送..
协议规范: http://docs.oasis-open.org/mq...
解析比较简单, 这里有一份根据上述标准写的PHP解析代码: https://github.com/immusen/yi...
阿里云的MQTT帮你提供一个服务端, 主要针对物联网解决方案, 场景多是传感器数据上报, 比你自己写的优势是稳定性和高并发, 你只用关心业务逻辑--去消息队列或者数据库把数据拿出来用, 不用管理可以端连接.

0

首先我没深入搞过mqtt,不过没吃过猪肉,但见过猪跑,以前在一家区块链公司做外包的时候,帮他们做过一个mqtt服务。

mqtt协议是基于tcp协议的,所以他的底子还是tcp,只不过他基于tcp定义了自己的数据格式。如果你想对mqtt协议的具体格式,你可以出门左拐看下workerman中的mqtt协议解析器,使用纯PHP实现的

其次swoole是支持mqtt协议的

撰写答案

你可能感兴趣的

推广链接