Android 代理不传递LWT消息?

Android 代理不传递LWT消息?,android,mqtt,messagebroker,paho,Android,Mqtt,Messagebroker,Paho,我有以下LWT主题和WT消息 private final String WILL_TOPIC = "sensor_0_LWT"; private final String WILL_MSG = "LWT: Unexpected Connection Drop Down"; 当我发布消息时,我订阅了一个名为传感器0的主题,但当我关闭WiFi并再次打开时,我希望看到我在连接选项中设置的LWT消息,但结果是我没有收到它 为什么重新连接时未收到LWT消息 代码: final MqttClientPer

我有以下
LWT主题
WT消息

private final String WILL_TOPIC = "sensor_0_LWT";
private final String WILL_MSG = "LWT: Unexpected Connection Drop Down";
当我发布消息时,我订阅了一个名为
传感器0
主题,但当我关闭WiFi并再次打开时,我希望看到我在连接选项中设置的
LWT消息
,但结果是我没有收到它

为什么重新连接时未收到
LWT
消息

代码

final MqttClientPersistence persistenceDataDir = new   
MqttDefaultFilePersistence(folder.toString());

    final MqttAndroidClient client_1 = new MqttAndroidClient(getApplicationContext(), serverURI,   
    clientID, persistenceDataDir, Ack.AUTO_ACK);

    MqttConnectOptions opts = new MqttConnectOptions();
    opts.setCleanSession(false);
    opts.setWill(WILL_TOPIC, WILL_MSG.getBytes(), 1, true);
    opts.setKeepAliveInterval(keepAliveInterval);

您确定代理检测到您断开了连接吗?@r是的,异步回调两次显示“连接丢失”。但在我发布问题后发生的是,我尝试了很多次连接和断开代理的连接,有一次,我发现WT消息在重新连接后显示了两次?有什么逻辑解释吗?代理异步回调还是客户端回调?经纪人需要注意的是客户已断开连接,而不是相反。将显示两次消息-您正在连接,且clean session设置为false,因此消息应该为您排队。如果您在代理交付消息之前断开连接,然后重新连接并重新订阅,您将收到第一条排队消息,然后由于重新订阅而收到第二条消息。我认为这是代理异步回调,因为客户端回调是同步的。还是我的理解错了?@r请再问一个问题。LWT主题是否应该与我订阅的opic不同,或者这无关紧要