概述
连接MQTT服务器
Client ID:mqtt-explorer-dbb6773f
协议:MQTT
username:abc
password:123
接收到的内容:,MQTT�<mqtt-explorer-dbb6773fabc123
转成base64:ECwABE1RVFQEwgA8ABZtcXR0LWV4cGxvcmVyLWRiYjY3NzNmAANhYmMAAzEyMw==
转成ascii码
array(46) {
[0]=>int(16)0001 0000 固定报头
[1]=>int(44)剩余长度44
[2]=>int(0)0000 0000 可变报头长度MSB
[3]=>int(4)0000 0100 可变报头长度LSB
[4]=>int(77)M
[5]=>int(81)Q
[6]=>int(84)T
[7]=>int(84)T
[8]=>int(4)0000 0100 协议级别 4-3.1.1版本 5-5.0版本
[9]=>int(194)11000010 连接标志
[10]=>int(0)两个固定分割字符
[11]=>int(60)
[12]=>int(0)两字节长度标识
[13]=>int(22)
[14]=>int(109)m
[15]=>int(113)q
[16]=>int(116)t
[17]=>int(116)t
[18]=>int(45)-
[19]=>int(101)e
[20]=>int(120)x
[21]=>int(112)p
[22]=>int(108)l
[23]=>int(111)o
[24]=>int(114)r
[25]=>int(101)e
[26]=>int(114)r
[27]=>int(45)-
[28]=>int(100)d
[29]=>int(98)b
[30]=>int(98)b
[31]=>int(54)6
[32]=>int(55)7
[33]=>int(55)7
[34]=>int(51)3
[35]=>int(102)f
[36]=>int(0)两字节长度标识
[37]=>int(3)
[38]=>int(97)a
[39]=>int(98)b
[40]=>int(99)c
[41]=>int(0)两字节长度标识
[42]=>int(3)
[43]=>int(49)1
[44]=>int(50)2
[45]=>int(51)3
}
发送消息
Topic:/12345
消息内容:{"a": 123}
接收到数据:5/12345��{"a": 123}
因为有乱码,转base64结果是NRQABi8xMjM0NZ+keyJhIjogMTIzfQ==
解码base64将字符串转成ascii码结果
array(22) {
[0]=>int(53)0011 0101 固定报头
[1]=>int(20)剩余长度20
[2]=>int(0)两个字节表明Topic长度
[3]=>int(6)
[4]=>int(47)/
[5]=>int(49)1
[6]=>int(50)2
[7]=>int(51)3
[8]=>int(52)4
[9]=>int(53)5
[10]=>int(159)这两是随机字符,分割用的
[11]=>int(164)
[12]=>int(123){
[13]=>int(34)"
[14]=>int(97)a
[15]=>int(34)"
[16]=>int(58):
[17]=>int(32)
[18]=>int(49)1
[19]=>int(50)2
[20]=>int(51)3
[21]=>int(125)}
}
固定报头标识
可变报头
连接标识
最后
以上就是虚幻路灯为你收集整理的MQTT报文解释的全部内容,希望文章能够帮你解决MQTT报文解释所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复