如何使用MqttClient的非阻塞方法

时间:2014-12-10 09:29:29

标签: mqtt paho

当我尝试使用以下代码连接到mosquitto代理时,如您所知,连接到代理可能需要几秒钟/分钟,并且在按下按钮进行连接的那段时间内,它仍然按下直到建立连接,当连接建立时,按钮释放回正常状态。据我所知,使用paho java APIblocking methodunblocking method连接客户端有两种方法。我的问题是,如何使用unblocking method? beow是我尝试使用阻止方法

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.");
                }
            }
        }

1 个答案:

答案 0 :(得分:0)

什么按钮?建立联系几乎是即时的。

有mqtt的异步版本。代码样本。如果要进行同步非阻塞。你可以在另一个线程中启动它。