MQTT: Keep Alive

2024-09-03 12:12
文章标签 mqtt keep alive

本文主要是介绍MQTT: Keep Alive,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Keep Alive

时间单位是 秒。

字段长度为 2 个字节的 short。

这个值规定了客户端从发送上一个控制包之后,到发送下一个控制包之间最大的时间间隔。

客户端需要确保发送控制包的时间间隔不超过这个值。 如果在此时间间隔内,没有其他的控制包需要发送给服务器端,客户端可以发送 PINGREQ 包。

客户端可以在任何时刻发送 PINGREQ(不受 Keep Alive 值的限制)。 通过发送 PINGREQ 可以检测服务器端是否正常工作或者当前网络状态是否可用。

如果 Keep Alive 的值不为零,但是在1.5倍的约定时间间隔后,服务器没有收到来自客户端的控制包(包括 PINGREQ), 服务器端应该关闭与客户端的网络连接,并且把它当作一个网络错误。

如果客户端发送了 PINGREQ 消息,但是在一定时间之后,没有收到来自服务器端的 PINGRESP 消息,客户端应该关闭当前网络连接。

如果 Keep Alive 的值是 0,意味着不使用 Keep Alive 机制。意味着服务器不需要在客户端在一段时间没有活动之后关闭连接。 但是,服务器也可以选择关闭网络连接在一定时间之后,这是被协议所允许的。

这篇关于MQTT: Keep Alive的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132926

相关文章

4G模块、WIFI模块、NBIOT模块通过AT指令连接华为云物联网服务器(MQTT协议)

MQTT协议概述 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,它被设计用来提供一对多的消息分发和应用之间的通讯,尤其适用于远程位置的设备和高延迟或低带宽的网络。MQTT协议基于客户端-服务器架构,客户端可以订阅任意数量的主题,并可以发布消息到这些主题。服务器(通常称为MQTT Broker)则负责接受来自客户端的连接请求,并转发消

HTTP协议 HTTPS协议 MQTT协议介绍

目录 一.HTTP协议 1. HTTP 协议介绍 基本介绍: 协议:  注意: 2. HTTP 协议的工作过程 基础术语: 客户端: 主动发起网络请求的一端 服务器: 被动接收网络请求的一端 请求: 客户端给服务器发送的数据 响应: 服务器给客户端返回的数据 HTTP 协议的重要特点: 一发一收,一问一答 注意: 网络编程中,除了一发一收之外,还有其它的模式 二.HTT

【知识分享】MQTT实战-使用mosquitto客户端连接emqx服务器

一、简介     MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的通信协议,旨在实现物联网设备之间的低带宽、高延迟的通信。MQTT协议设计简洁,使用TCP/IP协议进行通信,适用于各种网络环境,尤其适合在有限的网络带宽和不稳定的网络连接条件下进行通信。     MQTT的工作原理是基于发布/订阅模式的消息传递,它包括两个主要

基于 RocketMQ 的云原生 MQTT 消息引擎设计

作者:沁君 概述 随着智能家居、工业互联网和车联网的迅猛发展,面向 IoT(物联网)设备类的消息通讯需求正在经历前所未有的增长。在这样的背景下,高效和可靠的消息传输标准成为了枢纽。MQTT 协议作为新一代物联网场景中得到广泛认可的协议,正逐渐成为行业标准。 本次我们将介绍搭建在 RocketMQ 基础上实现的 MQTT 核心设计,本文重点分析 RocketMQ 如何适应这些变化,通过优化存储

MQTT协议中信息长度MSG len字段分析

截图自: 主要是说数据字节长度的计算: 每个字节由1个持续位和7个数据位组成:如果持续位为1,表示接下来的一个字节仍然表示长度的一部分 7个数据位表示的数据     0-127   共计128个数字 所以如上图的表格所示 1个字节,2个字节,3个字节,4个字节的数据范围 切记:MQTT长度的表示范围 最多使用4个字节  故这里存在着数据长度的限制  (不过真心牛掰! 试试Q

MQTT broker搭建并用SSL加密

系统为centos,基于emqx搭建broker,流程参考官方。 安装好后,用ssl加密。 进入/etc/emqx/certs,可以看到 分别为 cacert.pem CA 文件cert.pem 服务端证书key.pem 服务端keyclient-cert.pem 客户端证书client-key.pem 客户端key 编辑emqx配置:vim /etc/emqx/emqx.conf,添加s

构建智能门禁安防系统:树莓派 4B、OpenCV、SQLite 和 MQTT 的应用(代码示例)

一、项目概述 1.1 项目目标和用途 本项目旨在开发一个智能门禁安防系统,该系统利用摄像头和人脸识别技术,结合本地人脸库,实现对进出人员的自动识别和管理。系统能够实时记录进出人员的信息,并对未注册人员进行警报提示。通过与物联网平台的集成,用户可以远程监控和管理门禁系统,提升安全性和管理效率。 1.2 解决的问题和价值 传统的门禁系统往往依赖于钥匙或密码,存在安全隐患和管理不便的问题。本项目

MQTT.js 简述

MQTT.js 简述 简介 MQTT 是一种轻量级的消息传输协议,常用于物联网(IoT)设备间的通信。mqtt.js 是一个 JavaScript 库,支持在 Node.js 和浏览器中使用,用于通过 MQTT 协议与 MQTT Broker 进行通信。 安装 在 Node.js 中,可以通过以下命令安装: npm install mqtt --save 在浏览器中使用: <s

鹏程万里----mqtt

今天测试ubuntu安装mqtt服务器,其他都没啥说的,就是测试的时候 订阅里不要加-v,不然就会出现收不到数据 mosquitto_sub -h 192.168.10.80 -t "mqtt" 既然要搞mqtt那就必须得有个数据库来做数据持久化,于是我在ubuntu上装了个mongodb,遇到一点小问题 修改ip让外部能够访问,得修改./etc/mongodb.conf文件里的ip,

Mqtt消费端实现的几种方式

此处测试的mqtt的Broker是使用的EMQX 5.7.1,可移步至https://blog.csdn.net/tiantang_1986/article/details/140443513查看详细介绍 一、方式1 添加必要的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-s