消息在 paho-mqtt 中丢失

我正在使用 paho-mqtt 从 emqx 代理接收数据,但我丢失了数据,因为有时我的 paho-mqtt 订阅者出现故障。当我再次运行订阅者时,任何获取数据的方法都会提供所有已发布的数据。



慕沐林林
浏览 233回答 2
2回答

有只小跳蛙

如果没有订阅者,EMQ x 会丢弃该消息,这是正常的设计。可以试试 EMQ x 企业版,使用后端进行离线数据存储。https://docs.emqx.io/tutorial/latest/en/backend/whats_backend.html

红糖糍粑

我希望你得到一个解决方案。我不知道你的客户端,但是 paho-mqtt java 客户端可以自动重新连接。可以在“connectComplete(boolean reconnect, String s)”布尔参数中检查此重新连接public class MqttautoClient implements MqttCallbackExtended {...    @Override    public void connectComplete(boolean reconnect, String s) {        Log.d(TAG, "Connection connectComplete");    }    @Override    public void connectionLost(Throwable throwable) {        Log.d(TAG, "Connection lost");    }    @Override    public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception     {        Log.d(TAG, "messageArrived");    }    public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {        Log.d(TAG, "deliveryComplete ");    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python