MQTT: Keep Alive

Keep Alive

时间单位是 秒。

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

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

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

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

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VFSSoft

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值