环境信息
- EMQX 版本: emqx-4.3.11
- 操作系统及版本:Linux
- 其他
问题描述
设备登录服务器,默认订阅一个主题text,但是我想在管理web 界面上手动一个主题订阅(test/jy)。
就想通过http://xxxxxxx:18083/api/v4/mqtt/publish,向订阅(test/jy)的指定设备发送信息,数据发送成功了,但是订阅主题的客户端没有接收到信息,控制面板上显示数据已经丢失
配置文件及日志
发送请求的数据
管理web客户端配置
设备登录服务器,默认订阅一个主题text,但是我想在管理web 界面上手动一个主题订阅(test/jy)。
就想通过http://xxxxxxx:18083/api/v4/mqtt/publish,向订阅(test/jy)的指定设备发送信息,数据发送成功了,但是订阅主题的客户端没有接收到信息,控制面板上显示数据已经丢失
发送请求的数据
看你的截图,你的 publish 似乎被丢弃了,你把 EMQX 的 log.level 设置为 debug,然后复现一次,这样日志里面会有详细信息,你可以看下消息被丢弃的原因
两个设备登录进去,共同订阅一个test/jy。我通过clientId和主题字段的API接口进行向指定的clientId设备发送信息,在线其他订阅的主题的设备也是能接收到信息。这个是为什么啊
客户端只会收到自己订阅的主题下的消息,如果其他客户端也收到了,那说明他们也订阅了相同的主题。你可以检查下你推送时的主题,和其他设备订阅的主题
都指定一个clientId 了,那其他客户端订阅它的相同主题不应该收到啊。我还是不理解。难道设备需要一个唯一主题,才能对它进行发送信息,从而使其他设备,不能接收该主题信息吗?