資源簡介
一個關于MQTT的簡單java實現

代碼片段和文件信息
/**
?*
?*?Description:
?*?@author?admin
?*?2017年2月10日下午17:50:15
?*/
import?java.util.concurrent.ScheduledExecutorService;
import?org.eclipse.paho.client.mqttv3.MqttClient;
import?org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import?org.eclipse.paho.client.mqttv3.MqttException;
import?org.eclipse.paho.client.mqttv3.MqttTopic;
import?org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
public?class?ClientMQTT?{
????public?static?final?String?HOST?=?“tcp://localhost:1883“;
????public?static?final?String?TOPIC?=?“topic11“;
????private?static?final?String?clientid?=?“client11“;
????private?MqttClient?client;
????private?MqttConnectOptions?options;
????private?String?userName?=?“admin“;
????private?String?passWord?=?“password“;
????private?ScheduledExecutorService?scheduler;
????private?void?start()?{
????????try?{
????????????//?host為主機名,clientid即連接MQTT的客戶端ID,一般以唯一標識符表示,MemoryPersistence設置clientid的保存形式,默認為以內存保存
????????????client?=?new?MqttClient(HOST?clientid?new?MemoryPersistence());
????????????//?MQTT的連接設置
????????????options?=?new?MqttConnectOptions();
????????????//?設置是否清空session這里如果設置為false表示服務器會保留客戶端的連接記錄,這里設置為true表示每次連接到服務器都以新的身份連接
????????????options.setCleanSession(true);
????????????//?設置連接的用戶名
????????????options.setUserName(userName);
????????????//?設置連接的密碼
????????????options.setPassword(passWord.toCharArray());
????????????//?設置超時時間?單位為秒
????????????options.setConnectionTimeout(10);
????????????//?設置會話心跳時間?單位為秒?服務器會每隔1.5*20秒的時間向客戶端發送個消息判斷客戶端是否在線,但這個方法并沒有重連的機制
????????????options.setKeepAliveInterval(20);
????????????//?設置回調
????????????client.setCallback(new?PushCallback());
????????????MqttTopic?topic?=?client.getTopic(TOPIC);
????????????//setWill方法,如果項目中需要知道客戶端是否掉線可以調用該方法。設置最終端口的通知消息
????????????options.setWill(topic?“close“.getBytes()?2?true);
????????????client.connect(options);
????????????//訂閱消息
????????????int[]?Qos??=?{1};
????????????String[]?topic1?=?{TOPIC};
????????????client.subscribe(topic1?Qos);
????????}?catch?(Exception?e)?{
????????????e.printStackTrace();
????????}
????}
????public?static?void?main(String[]?args)?throws?MqttException?{
????????ClientMQTT?client?=?new?ClientMQTT();
????????client.start();
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-02-10?13:06??MQTT\
?????目錄???????????0??2017-02-13?13:06??MQTT\.idea\
?????文件???????????4??2017-02-10?10:53??MQTT\.idea\.name
?????文件????????1144??2017-02-10?10:53??MQTT\.idea\compiler.xm
?????目錄???????????0??2017-02-10?10:53??MQTT\.idea\copyright\
?????文件?????????115??2017-02-10?10:53??MQTT\.idea\copyright\profiles_settings.xm
?????文件?????????171??2017-02-10?10:53??MQTT\.idea\encodings.xm
?????目錄???????????0??2017-02-10?12:49??MQTT\.idea\libraries\
?????文件?????????693??2017-02-10?12:49??MQTT\.idea\libraries\Maven__org_eclipse_paho_org_eclipse_paho_client_mqttv3_1_0_2.xm
?????文件?????????793??2017-02-10?12:43??MQTT\.idea\misc.xm
?????文件?????????259??2017-02-10?10:53??MQTT\.idea\modules.xm
?????目錄???????????0??2017-02-10?10:53??MQTT\.idea\scopes\
?????文件?????????143??2017-02-10?10:53??MQTT\.idea\scopes\scope_settings.xm
?????文件?????????176??2017-02-10?10:53??MQTT\.idea\vcs.xm
?????文件???????46877??2017-02-13?13:06??MQTT\.idea\workspace.xm
?????文件?????????974??2017-02-10?12:49??MQTT\MQTT.iml
?????文件?????????647??2017-02-10?12:48??MQTT\pom.xm
?????目錄???????????0??2017-02-10?10:53??MQTT\src\
?????目錄???????????0??2017-02-10?10:53??MQTT\src\main\
?????目錄???????????0??2017-02-10?17:48??MQTT\src\main\java\
?????文件????????2726??2017-02-10?17:48??MQTT\src\main\java\ClientMQTT.java
?????文件????????1811??2017-02-10?17:43??MQTT\src\main\java\PushCallback.java
?????文件????????3242??2017-02-10?17:46??MQTT\src\main\java\ServerMQTT.java
?????目錄???????????0??2017-02-10?10:53??MQTT\src\main\resources\
?????目錄???????????0??2017-02-10?10:53??MQTT\src\test\
?????目錄???????????0??2017-02-10?10:53??MQTT\src\test\java\
?????目錄???????????0??2017-02-10?13:06??MQTT\target\
?????目錄???????????0??2017-02-10?17:38??MQTT\target\classes\
?????文件????????2469??2017-02-10?15:25??MQTT\target\classes\ClientMQTT.class
?????文件????????1832??2017-02-10?13:06??MQTT\target\classes\PushCallback.class
?????文件????????3537??2017-02-10?17:38??MQTT\target\classes\ServerMQTT.class
............此處省略2個文件信息
- 上一篇:AutoItX4Java
- 下一篇:android酒店管理系統
評論
共有 條評論