百度開放雲物接入IoT--Java客戶端
阿新 • • 發佈:2019-01-02
給出一個百度雲開放平臺的Java客戶端示例程式碼,進行了一點點修改
以上一篇寫的文章中的websocket客戶端為釋出者。訂閱者我們用百度的示例Java程式
訂閱者的客戶端程式碼如下:
package com.mymqtt.baidu;
import java.security.KeyStore;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
public class Client {
public static void main(String[] args) throws Exception {
String endpoint = "ssl://gwcheng.mqtt.iot.gz.baidubce.com:1884"; //輸入建立endpoint返回的地址
String username = "gwcheng/mything1"; //輸入建立thing返回的username
String password = "H0aUPreSnca3NslTft+oHjwgZEMjZPOfNBgXnb2F+6o=" ; //輸入建立principal返回的password
String topic = "helloTopic"; //訂閱的訊息主題,本例是指訂閱helloTopic
TrustManagerFactory tmf = TrustManagerFactory.getInstance("X509");
tmf.init((KeyStore)null);
TrustManager[] trustManagers = tmf.getTrustManagers();
SSLContext ctx = SSLContext.getInstance("TLS" );
ctx.init(null, trustManagers, null);
MqttConnectOptions options = new MqttConnectOptions();
options.setCleanSession(true);
options.setUserName(username);
options.setPassword(password.toCharArray());
options.setSocketFactory(ctx.getSocketFactory());
MqttClient client = new MqttClient(endpoint, topic);
client.connect(options);
client.setCallback(new PushCallback());
// 為了不讓程式退出,一直處於接收訊息階段。
while(true){
client.subscribe(topic,2);;
}
// client.disconnect();
}
}
好了,執行我們的websocket和Java程式