前言
建议查看原文,正文为个人截取。
原文地址:http://blog.sina.com.cn/s/blog_a5e78d1d0102wqkr.html
正文
三个等级
0:只发送一次,不保证消息一定送达。
一个消息不会被接收端应答,也不会被发送端存储。
所以称为“即发即弃”。
1:保证信息会被接收端收到,但可能接收端会重复收到消息。
发送端会存储发送的publish信息,直到接收端返回puback应答。
publish与puback之间通过比较数据包中的packet identifier完成。
在特定的时间内(timeout),发送端没有接收到puback应答,那么发送端就会重新发送publish消息。
2:可以确保消息只被接收到一次,因频繁确认以至于效率低。
发送端会存储发送的publish信息,接收端接收到信息处理并保存后返回pubrec应答。
发送端接收到pubrec信息后,便知道接收端已经接收到publish包并进行处理,于是发送端便移除保存的pulish,
转而保存返回的pubrec信息,并回复pubrel信息,这种做法就是为了保证不重复的发送消息。
当接收端完全处理完毕后,会返回pubcomp。
qos流
1.在发送端与broker之间,发送端定义了qos等级。
2.在broker与发送端之间,接收端决定了qos等级。