java应用,可以在一个Controller里面,往EMQX发布消息到指定设备,设备回复这个消息到这个Controller里面吗?

环境

  • EMQX 版本:5.0
  • 操作系统版本:Ubuntu 18.04

功能请求

java后台调用API发布消息,需要设备接收到消息以后,进行回复操作。

因为有需求点击获取设备的相关数据。

如果你走的是 MQTT 连接,就没问题,但如果是 HTTP API,那就不行了,HTTP API 只能发布不能订阅。

走MQTT连接是什么意思,可以详细说一下吗?

就是你的 Java 应用作为一个 MQTT 客户端连接到 EMQX,和其他一般的 MQTT 设备一样发布订阅。

我了解的做法类似dubbo进行一个业务线程同步阻塞,用MQTT连接是怎么在一个请求里获取设备的返回值?我往一个topic发送消息,emqx获取设备回复的topic 然后发给我?我不理解。

你往主题 A 发布消息,设备收到消息往主题 B 回复,你订阅主题 B,应该就可以了?