素材巴巴 > 程序开发 >

mqtt.js

程序开发 2023-09-09 16:00:26

什么是MQTT协议

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。

MQTT特点

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,最大优点在于,用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。
做为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

什么是MQTT的发布订阅模式

MQTT使用的发布/订阅消息模式,它提供了一对多的消息分发机制,从而实现与应用程序的解耦。
这是一种消息传递模式,消息不是直接从发送器发送到接收器(即点对点),而是由MQTT server(或称为 MQTT Broker)分发的
在这里插入图片描述

mqtt.js的API解读

URL 可以使用以下协议:‘mqtt’、‘mqtts’、‘tcp’、‘tls’、‘ws’、‘wss’、‘wxs’、‘alis’
OPTIONS:
1.wsOptions:是 WebSocket 连接选项。默认为{}。参考
2.keepalive:60秒,设置0为禁用
3.reschedulePings: 发送数据包后重新安排 ping 消息(默认true)
4.clientId:客户端id 唯一标识你的客户端的身份
5.clean: boolean 设置为 false 可以在离线时接收 QoS 1 和 2 消息;
6.reconnectionProid: 设置多长时间进行重新连接 单位毫秒
7.connectionTimeout: 设置超时时间
8.protocolID: ‘ MQIsdp’ // 和下面的参数指定mqtt的版本
9.protocolVersion: 3
10.reconnectPeriod: 1000毫秒,两次重新连接之间的间隔。通过设置0禁用自动重新连接。
11.username:用户名
12.password: 密码
13.incomingStore: 传入数据包的存储
14.outgoingStore:用于传出数据包的存储
15.queueQoSZero:如果连接断开,则将传出的 QoS 零消息排队(默认true)
16. customHandleAcks:自定义处理 puback 和 pubrec 数据包的 MQTT 5 功能。它的回调:
customHandleAcks: function ( topic , message , packet , done ) { /*some logic wit colling done(error, reasonCode)*/ }
17.autoUseTopicAlias:使用功能启用自动主题别名
18.autoAssignTopicAlias:启用自动主题别名分配功能
19. authPacket:认证包的设置object
will:{} 当客户端断开连接严重时,代理会自动发送一条消息。参考
20.transformWsUrl: 可选(url, options, client) => url功能 仅适用于 ws/wss 协议。可用于实现重新连接后可能已过期的签名 url。
21.resubscribe:如果连接断开并重新连接,订阅的主题会自动再次订阅(默认true)
22.messageIdProvider: 自定义 messageId 提供者。当new UniqueMessageIdProvider()设置时,则提供非冲突 messageId


标签:

素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。