1 Star 1 Fork 0

云上青山 / mqtt

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Getting Started mqtt

介绍

选取 MQTT Broker 版本官方版本文档: https://docs.emqx.io/broker/latest/cn/ MQTT 简介: https://www.runoob.com/w3cnote/mqtt-intro.html mqtt demo旨在记录自己的技术成长,帮助更多有需求的用户实现快速开发入门 无任何附加,最终解释权归博主所有.

设计原则

设计: 1.精简,不添加可有可无的功能 2.发布/订阅(Pub/Sub)模式,方便消息在传感器之间传递 3.允许用户动态创建主题,零运维成本 4.把传输量降到最低以提高传输效率 5.把低宽带,高延迟,不稳定的网络等因素考虑在内 6.支持连续的会话控制 7.理解客户端计算能力可能很低 8.提供服务质量管理 9.假设数据不可知,不强求传输数据的类型与格式,保持灵活性

特性

特性介绍: 1.使用发布/订阅消息模式,提供一对多的消息发布,应用解耦 2.对负载内容屏蔽的消息传输 3.TCP/IP网络连接(主流的是基于TCP连接进行数据推送,还有基于UDP版本,叫做[MQTT-SN],基于不同的方式,各有优缺) 4.三种消息发布服务质量(qos) "至少一次": 确保消息到达,但消息重复会发生,需要做幂等处理,账单/设备/用户记录等等 "只有一次": 确保消息一定收到,消息丢失/重复都不接受,但相应的会有额外的系统开销 "至多一次": 接收端不会发送回执消息,发送者也不会重试,消息可能丢失,通常用在系统日志传递 5.小型传输,开销小(固定长度的头部是2字节),协议交换最小化,降低网络流量 6.遗言(Last Will)和Testament特性通知客户端异常中断链接

实现原理

MQTT实现方式: 实现MQTT协议需要客户端和服务端通讯完成,通讯过程中, MQTT协议中有三种身份:发布者(Publish),代理(Broker),(服务器),订阅者(Subscibe), MQTT传输消息分为两部分: 主题(Topic) / 负载(payload) 1.Topic,订阅者订阅(Subscibe)后,会收到该主题的消息内容(payload) 2.payload,消息的内容,指代订阅者具体要使用的内容 网络传输/应用消息 MQTT会构建底层网络传输: 它将建立客户端到服务端的链接,提供两者之间的一个有序的,无损的,基于字节流的双向传输. 当应用数据通过MQTT网络发送时,MQTT会把与之相关的服务质量(QoS)和主题名(Topic)相关联.

空文件

简介

mqtt demo旨在记录自己的技术成长,帮助更多有需求的用户实现快速开发入门 无任何附加,最终解释权归博主所有. 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/wangshisuifeng123/mqtt.git
git@gitee.com:wangshisuifeng123/mqtt.git
wangshisuifeng123
mqtt
mqtt
master

搜索帮助