我仍然是MQTT的学习者,而不是专家,但我对使用QoS 1处理重复消息的理解如下:
假设您有一个应用程序,无论出于何种原因需要计算从代理接收的消息。但是,您不希望将重复消息(在客户端未及时确认消息时发送)进行考虑。
我使用Java Paho客户端,因此它的代码是:
int counter = 0; public void messageArrived(String topic, MqttMessage message) throws MqttException { if (message.isDuplicate() == false) { counter++; } }