Mqtt ----心跳机制

心跳机制

  Keep Alive指定连接最大空闲时间T,当客户端检测到连接空闲时间超过T时,必须向Broker发送心跳报文PINGREQ,Broker收到心跳请求后返回心跳响应PINGRESP。若Broker超过1.5T时间没收到心跳请求则断开连接,并且投递遗嘱消息到订阅方;同样,若客户端超过一定时间仍没收到心跳响应PINGRESP则断开连接。 
  连接空闲时发送心跳报文可以降低网络请求,弱化对带宽的依赖。

Keep Alive设定时机

  创建连接时,在CONNECT报文中指定,单位s。

Client Take-Over

场景:客户端与Broker连接正常,然后客户端快速重启(小于1.5T),再重新连接Broker,在未达到1.5T这段时间内,客户端与Broker存在两条连接。 
处理措施: 先断开之前的连接再建立新的连接。

猜你喜欢

转载自www.cnblogs.com/saryli/p/9820589.html