mqttv3.internal.ClientState - 445: Timed out as no activity
https://blog.csdn.net/weixin_34107955/article/details/91937390
具體設置為:
// 設置是否清空session,這里如果設置為false表示服務器會保留客戶端的連接記錄,這里設置為true表示每次連接到服務器都以新的身份連接
//設置為false可以在服務器斷開后不用再手動連接
options.setCleanSession(false);
// 設置超時時間 單位為秒
//設置為0,防止 ERROR o.e.p.c.mqttv3.internal.ClientState - Timed out as no activity 錯誤
options.setConnectionTimeout(0);
// 設置會話心跳時間 單位為秒 服務器會每隔1.5*20秒的時間向客戶端發送個消息判斷客戶端是否在線,但這個方法並沒有重連的機制
options.setKeepAliveInterval(20);
//設置自動重連
options.setAutomaticReconnect(true);