MQTT里避免重复订阅时用到的字段sessionPresent,为什么我测试的 sessionPresent 全是 false,(cleanSession=false)
MqttClient client = new MqttClient("tcp://localhost:1883", "push");
MqttConnectOptions options = new MqttConnectOptions();
options.setUserName("aaaaaa");
options.setPassword("aaaaa".toCharArray());
options.setCleanSession(false);
IMqttToken iMqttToken = client.connectWithResult(options);
iMqttToken.waitForCompletion();
boolean sessionPresent = iMqttToken.getSessionPresent();
System.out.println("firstResult: " + sessionPresent); // 第一次访问返回false 正常
MqttMessage message = new MqttMessage();
client.publish("tt", "zxzx".getBytes(), 1, false);
client.disconnect();
IMqttToken secondToken = client.connectWithResult(options);
secondToken.waitForCompletion();
boolean secondResult = secondToken.getSessionPresent();
System.out.println("secondResult: " + secondResult); // 第二次不是应该返回 true 了吗?为什么还是false