c2c平台的特点是什么,如何优化关键词排名快速首页,asp.net是做网站的吗,做的比较好的电商网站服务端的会话状态
1. 客户端订阅的消息
2. 已发送#xff0c;但还未完成确认的QoS 1和QoS 2消息
3. 等待发送的QoS 0,QoS 1,QoS 2消息
4. 从客户端收到的#xff0c;还没有完成确认的QoS 2消息
5. 遗嘱消息和遗嘱延迟间隔
6. 会话是否存在客户端的会话状态
1. 已发送但未完…服务端的会话状态
1. 客户端订阅的消息
2. 已发送但还未完成确认的QoS 1和QoS 2消息
3. 等待发送的QoS 0,QoS 1,QoS 2消息
4. 从客户端收到的还没有完成确认的QoS 2消息
5. 遗嘱消息和遗嘱延迟间隔
6. 会话是否存在客户端的会话状态
1. 已发送但未完成确认如何选择会话的生命周期
需要持久会话
1. 不希望错过离线期间的消息
2. 不希望QoS 1和QoS 2消息丢失
3. 不希望每次连接都需要重新建立订阅
4. 设备定期休眠不希望长时间维护连接不需要持久会话
1. 只对外发布QoS 0消息不会接受任何消息
2. 只订阅QoS 0消息不关心离线期间的消息会话相关字段
Clean Start 0
尝试从已存在的会话中恢复通信Clean Start 1
丢弃任何已存在的会话并创建新会话Session Expiry Interval
执行会话在连接断开后能够保留的最长时间Session Expiry Interval 0
会话将在网络连接断开时结束Session Expiry Interval 0
会话将在连接断开的多少秒后过期Session Expiry Interval 0XFFFFFFFF
会话永不过期会话练习
场景1:在会话过期前重新连接可以不用再次订阅
STEP 1: [订阅端]Clean Start1Session Expiry Interval 300创建一个全新的持久会话。STEP 2: [订阅端]订阅主题 aSTEP 3: [订阅端]断开连接将 Clean Start 设置为0然后重连STEP 4: [发布端]新建一个连接向主题a发布消息现象:订阅端可以收到消息与非持久会话对比:
STEP 1:[订阅端]Clean Start1Session Expiry lnterval 0使用全新的会话创建连接STEP 2:[订阅端]订阅主题 aSTEP 3:[订阅端]断开连接将 Clean Start 设置为 0Session Expiry Interval保持不变然后重连STEP 4:[发布端]接向主题a发布消息现象:订阅端无法收到消息必须重新订阅场景2:离线期间会话可以为客户端缓存新到达的 QoS (可选)、QoS1和QoS2消息
STEP 1:[订阅端] Clean Start 1Session Expiry lnterval 300创建一个全新的持久会话。STEP2:[订阅端]订阅主题a然后断开连接STEP 3:[发布端]主题a发布消息 123STEP 4:[订阅端]Clean Start 设置为 0Session Expiry lnterval 保持不变然后重连现象:发现按顺序收到之前发布的消息对比创建全新的会话:
STEP 4:[订阅端]Clean Start 设置为 1Session Expiry lnterval 保持不变然后重连现象:我们将不会收到之前发布的消息与非持久会话对比:
STEP 1:[订阅端]Clean Start 1Session Expiry lnterval 0使用全新的会话创建连接STEP2:[订阅端]订阅主题a然后断开连接STEP 3:[发布端]向主题a 发布消息 123STEP4:[订阅端]Clean Start 设置为0(这是为了尝试复用会话但代理中已经没有对应的会话了所以会创建一个全新的会话)Session Expiry lnterval 保持不变然后重连现象我们将不会接收之前按发布的消息场景3: 与MQTT3.1.1的区别
STEP 1: [订阅端] Clean Session 0建立连接订阅主题a断开连接STEP 2: [发布端]向主题a发布两条消息STEP 3: [订阅端]保持 Clean Session 0重连收到消息。STEP 4: [订阅端]断开连接发布端发布两条消息STEP 5: [订阅端] Clean Session 1重连代理将创建全新的会话所以订阅端不会收到消息STEP 6: [订阅端]断开连接STEP 7: [发布端]发布两条消息。即便订阅端 Clean Session 0重连仍然不会收到消息