Using from Maven、 Gradle
org.fusesource.mqtt-client » mqtt-client » 1.15
Configuring the MQTT Connection
「blocking」、「future」、「callback」三種API都使用相同的連接設定。
建立一個MQTT類的實例,使用setHost方法連接MQTT Broker。
MQTT mqtt = new MQTT();
mqtt.setHost("localhost", 1883);
// or
mqtt.setHost("tcp://localhost:1883");
MQTT選項
- setClientId:用於設定Session的Client ID。這是MQTT server用來識別使用setCleanSession(false);的Session。Client ID最多23字元,預設自動產生(基於你的socket address, port and timestamp)。
- setCleanSession:如果要MQTT server在客戶端session保留主題訂閱和ack位置,則設置為false。預設為true。
- setKeepAlive:Keep Alive計時器,單位為秒。定義從Client收到訊息之間的最大時間間隔,這可以使server檢測到與Client的網路連接是否已經丟失,而不需要等待較久時間TCP/IP超時。=
- setUserName:設定用於讓server進行身份驗證的使用者名。
- setPassword:設定用於讓server進行身份驗證的密碼。
- setWillTopic:如果有設定,server會在Client意外斷線時將Client的Will訊息發佈到指定的Topic。
- setWillMessage:要發送的Will訊息。預設是0長度的訊息。
- setWillQos:Will訊息的Qos。預設是AT_MOST_ONCE(0)。
- setWillRetain:設定true時,Will訊息發佈時會設定成保留(retain)。
- setVersion:設定MQTT版本。不支援5。