1. 程式人生 > >百度開放雲物接入IoT--Java客戶端

百度開放雲物接入IoT--Java客戶端

給出一個百度雲開放平臺的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程式

這裡寫圖片描述

參考文獻