消息发布之后,怎么能知道消息已经成功发送到了主题的订阅方

  • EMQX 版本:4.4.6
  • 操作系统及版本:windows2019

问题是,我们现在有一个自己开发的app程序和一个设备,设备订阅了主题a
我们现在通过app向主题a发布了一条命令,该命令可能启动设备命令,也可能是其他修改参数值的命令,现在是app端没法知道订阅主题a的这个设备是否已经成功接收,

你可能会回答说需要让这个设备再对主题b发布消息,app订阅主题b,这种方式不太符合我们的业务,我们现在设备设置的有发布消息的主题,是我们设置的是每过1分钟进行一次采集数据进行发布,

总之问题就是我想要知道我发布的命令,订阅方有没有成功接收,需要一个消息反馈,

网上说mqtt有个什么ack响应,可以实现吗?

另外咱们这有没有详细api文档呀,我怎么没找到

如果你需要在你的业务层进行消息投递确认,最简单的方法就是设备向 app 发送一条确认消息。
另外一种就是使用 qos1 或者 qos2 进行订阅,然后使用规则引擎或者webhook、exhook 等,处理 message.acked 消息


deliveryComplete这个消息发布回调方法是不是只是代表消息发到了emqx服务器,不代表订阅端已经成功接收?

另外,你说的这个订阅端要用qos1或2进行订阅?我们订阅端是一个物联网网关设备,默认订阅qos是0没法改,这样有办法处理我们的需求没