Centos7安装mqtt服务器(apache-artemis)从入门到应用

MQTT服务器

1、什么是MQTT

MQTT是message queuing telementry transport的简称,中文是消息队列遥测传输协议。
它是一种基于发布订阅模式的轻量级通讯协议,该协议构建于TCP/IP协议之上,由IBM在1999年发布。其最大的优点在于可以用极少的代码和有限的带宽,为远程设备提供实时可靠的消息服务。
作为一种低开销、低带宽占用的即时通讯协议,MQTT在物联网、小型设备、移动应用等方面有广泛的应用。

2、MQTT协议的组成

固定报文头(Fixed Header)

MQTT固定报文头最少有两个字节,第一字节包含消息类型(Message Type)和QoS级别等标志位。第二字节开始是剩余长度字段,该长度是后面的可变报文头加消息负载的总长度,该字段最多允许四个字节。

每个字节单独表示只能表示0-127的十进制数,为了表示大于127的数,需要使用多个字节,具体计算方法如下:
0xFF 0xFF 0x7F
127+128*(127+128*(127))=2,097,151
0xFF 0xFF 0xFF 0x7F
127+128*2097151=268,435,455‬‬
所以MQTT最多可携带256MB的信息数据。
在这里插入图片描述

可变报文头(Variable Header)

可变报文头主要包含协议名、协议版本、连接标志(Connect Flags)、心跳间隔时间(Keep Alive timer)、连接返回码(Connect Return Code)、主题名(Topic Name)等,后面会针对主要部分进行讲解。

有效负荷(Payload)

Payload直译为负荷,可能让人摸不着头脑,实际上可以理解为消息主体(body)。

当MQTT发送的消息类型是CONNECT(连接)、PUBLISH(发布)、SUBSCRIBE(订阅)、SUBACK(订阅确认)、UNSUBSCRIBE(取消订阅)时,则会带有负荷。

3、MQTT消息

消息类型(Message Type)

在固定报文头的第一字节,约定了消息的类型,其中MQTT支持14中不同的消息类型,如下图:
在这里插入图片描述

消息质量(

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值