发布和订阅
可以实现1对多
MQTT协议解读
https://mcxiaoke.gitbooks.io/mqtt-cn/content/mqtt/01-Introduction.html
字符串转换为16进制
UTF-8(补充)
”??“为固定报头的一部分
阿里云的返回码
TCP连接
P9剩余长度:
P10服务质量QOS:
一般都是0
更正一下:QOS2是至少保证所有的订阅都收到一次
P11主题订阅和订阅确定(1):
主题订阅:
订阅只能是客户端向服务端发送订阅
订阅了主题后服务端和客户端就可以相互发布消息
这里的最后一位字节为加上的QOS等级
P12主题订阅和订阅确定(2):
订阅确定:
客户端订阅主题后,服务器给客户端返回的值为订阅确认值
你订阅时可变报头为0x0A,订阅确定的时候就给你发0x0A
你订阅时可变报头为0x0B,订阅确定的时候就给你发0x0B
P13取消订阅和取消订阅确定(1):
取消订阅:
在订阅报文里是有服务质量确定,但是在取消订阅报文里是没有服务质量确定的
P14取消订阅和取消订阅确定(2):
取消订阅确定:
P15发布消息和消息确认(1):
发布消息:
发布消息有五个部分组成
因为我们用的是QOS为00所以没有报文标识符
因为我们用的QOS为00,所有没有响应
动作没有固定的内容和格式,所有我们不用它
最后我们就只剩下
P16JSON格式:
【C语言之 CJson】学CJson看这一篇就够了-CSDN博客
P17发布消息和消息确认(3):
消息确认:
订阅为set
发布为post
P18发布消息和消息确认(4):
客户端发消息给服务端或者服务端发消息给客户端之前,客户端必须先订阅(关注)服务端
可以用微博的例子来理解:如果你关注(订阅)了某人,某人发布消息时才你才能收到