EMQX实现离线消息

EMQX开源版本实现离线消息

  1. 连接时设置 cleanSession 为 false。
  2. 设置 emqx 的 session 过期时间,就是离线消息可以保存的时长,可按照需求设置。
## Default session expiry interval for MQTT V3.1.1 connections.
##
## Value: Duration
## -d: day
## -h: hour
## -m: minute
## -s: second
##
## Default: 2h, 2 hours
zone.external.session_expiry_interval = 2h
  1. 设置发布消息的qos。
    qos 设置为 0,1,2 均可收到离线消息,本人测试的消息量不大且是在本机测试
  2. 问题:
    使用 mqttfx 测试使用时无法接收离线消息,但是使用java模拟实现的client可以订阅到离线消息。原因不明
  3. 环境:emqx4.3.8-Windows 版本
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EMQ X 是一款高可用、高并发、分布式、开源的 MQTT 消息服务器,支持 MQTT 连接协议和 WebSocket 协议。它基于 Erlang/OTP 平台,具有高并发、高可扩展性、容错性等特点,适用于物联网、实时消息推送、即时通讯等场景。 EMQ X 的消息机制原理如下: 1. 消息发布:客户端通过 MQTT 协议将消息发布到 EMQ X 服务器,服务器将消息存储到指定的消息队列中。 2. 消息订阅:客户端通过 MQTT 协议将自己订阅到指定的主题上,服务器会将该主题下的消息推送给客户端,客户端通过 MQTT 协议接收到消息。 3. 消息路由:EMQ X 使用订阅树(Subscription Tree)实现消息路由,即将消息路由到对应的订阅者。订阅树由主题层级结构组成,每个节点表示一个主题,每个主题可以有多个订阅者。当消息发布时,EMQ X 将消息按照主题匹配规则路由到相应的订阅者。 4. 消息存储:EMQ X 支持多种消息存储方式,包括内存存储、磁盘存储、数据库存储等。用户可以根据自己的需求选择不同的存储方式。 5. 消息 QoS:EMQ X 支持 MQTT 协议的三种消息 QoS(Quality of Service)级别:0、1、2。QoS 级别越高,消息传递的可靠性越高,但是消息传递的延迟也越大。 6. 消息过滤:EMQ X 支持基于主题过滤消息,订阅者可以通过通配符(+ 和 #)匹配多个主题。同时,EMQ X 还支持基于消息属性(例如消息中的标签)过滤消息。 总的来说,EMQ X 的消息机制是基于 MQTT 协议实现的,通过消息发布、订阅、路由、存储、QoS 和过滤等功能,实现了高效、可靠、灵活的消息传递。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值