我有一個MQTT客戶端(讓我們稱之爲Client-1)使用Java PAHO,這是酒吧和子主題沒有問題, 在地球的另一端我有另一個客戶端(讓我們稱之爲SuperClient)可以公共主題作爲我的客戶命令...可以在MQTT泛美衛生組織客戶端斷開非同步?
其中一個命令是「DISCONNECT-NOW」,在我的客戶端-1我已經實現了回調,我正確收到msg,但是,當我嘗試根據該命令斷開連接,我得到一個例外:
ReasonCode:32107
消息:使用回調法斷開不允許
LocalizedMsg:使用回調法斷開不允許
例外:使用回調法斷開不允許(32107)
使用回調法斷開不允許(32107)
在org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:31) 在 org.eclipse.paho.client.mqttv3.internal.ClientComms.disconnect(ClientComms.java:460) 在 org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:632) 在 有機.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:601) 在 org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:608) 在 org.eclipse.paho .client.mqttv3.MqttClient.disconnect(MqttClient.java:256) at co.ve.de.MqttBroker.disconnect(MqttBroker.java:94)at co.ve.de.Implementation.lambda $ 1(Implementation.java: 53)在 co.ve.de.MqttBroker $ 1.messageArrived(MqttBroker.java:132)在 org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:475) at org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:379) at org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:183) 在java.lang.Thread.run(來源不明)
我的問題:有沒有什麼辦法從網絡上斷開異步沒有做一些奇怪的長輪詢?
謝謝!