MQTT正确的订阅发布方式,现有困惑
1.客户端A发布了/device/data这样一个主题
2.服务端原封不动转发了/device/data这样一个主题
3.客户端B订阅了该主题,于是接到了这个主题
问题:
由于服务端封不动转发了/device/data这样一个主题,他本身又再收到了该主题,于是再进行了发布,如此反复
解决思路:
正确的方式是,MQTT服务端不需要动发客户端订阅的主题,只要他运行即可;
客户端A一旦发布主题,订阅端就能收到?
因此,上述解决办法就是开启服务端,不转发即可?
???????
mqtt 服务端 在所有正式文档里都叫 “mqtt Broke”,mqtt代理人
所以谁让你自己写代码转发了,不用你多余去写所谓的转发
他本身的工作机制就是,你们要干啥请告诉代理人,让他转告给对方
。
所以你自己不要在所谓的服务端去写代码,无端复制一条出去。也就是拿掉你2的代码。这个过程原本多余。