2014-12-10 2 views
0

Когда я пытаюсь выполнить приведенный ниже код для подключения к брокеру mosquitto, как вы знаете, подключение к брокеру может занять несколько секунд/минут, и в течение того времени, когда кнопка нажата connect, он остается нажатым до тех пор, пока соединение не будет установлено, и когда соединение установит, кнопка вернется в нормальное состояние. Насколько мне известно, существует два способа подключения клиента с использованием paho java API, blocking method и unblocking method. мой вопрос в том, как использовать unblocking method? beow моя попытка использовать метод блокированияКак использовать метод un-blocking для MqttClient

Code_1:

, что кнопка
//mqttFactory 
public final class MQTTClientFactory { 

public static MqttClient newClient(String ip, int port, String clientID) throws MqttException { 

    String serverURI = formURI(ip, port); 
    MqttClient client = new MqttClient(serverURI, clientID).; 
    return client; 
} 



MqttConnectOptions opts = getClientOptions(); 
     client = MQTTClientFactory.newClient(broker, port, clientID); 

     if (client != null) { 
      System.out.println("Client is not Null"); 
      client.setCallback(AsynchCallBack); 
      if (opts != null) { 
       client.connectWithResult(opts).setActionCallback(synchCallBack); 
       if (client.isConnected()) { 
        System.out.println("Client CONNECTED."); 
       } 
      } 
     } 

ответ

0

? установление соединения происходит почти мгновенно.

Существуют асинхронные версии mqtt. Образцы кода для этого. Если вы хотите сделать синхронное неблокирование. Вы можете запустить его в другой поток.

 Смежные вопросы

  • Нет связанных вопросов^_^