这几天就是看mqtt协议原文。四十来页,看完以后对mqtt协议比原来了解一点。
知道协议实体就是两个客户端、服务器(或者叫broker)。消息类型有十四种。
主要的行为方式就是:心跳检测、订阅过程、发布消息过程、连接过程、断开链接过程等等。
其中着重需要介绍的是qos的等级有三种,自我感觉就是三种对于消息的处理方式。qos为0就是发后不管,所以只能是至多接收一次,因为没有到达确认,所以服务器可能没接受到。而且这种消息不会进行保存。另外两种qos都会进行消息保存。两种消息的处理方式有不同。qos=1时通过puback确认收到消息。但是可能这个返回消息不能被收到,所以服务器收到的消息至少为一次。也就是说。消息发送后没有收到puback返回。发送端会再次发送消息,但是需要将dup标签设置一下,表示这个消息是重发的。qos=2的时候过程比较复杂。但是可以保证消息只会被接收到一次。
然后就是mqtt支持的一些通配符,两个:分别是 +和# 第一个可以放在任意位置表示匹配一层topic ,比如 fm/+/ibm 可以匹配 fm/a/ibm fm/b/ibm 等等。#可以进行零到多层匹配,但是只能放在末尾。fm/ibm/# 可以匹配fm/ibm fm/ibm/a fm/ibm/b 等等
只是初步看完了协议内容。了解了大概,便于下一步的研究。
阅读(1447) | 评论(0) | 转发(0) |