作者:貝殼物聯 | 更新時間:2016-12-08 | 瀏覽量:1863
設備穩定在線,是設備實時接收控制和上傳數據(UDP和http協議除外)的基礎,也是大家經常遇到和討論問題,所有單獨在此討論,只做理論和機制說明,希望大家有好的經驗和建議多多分享。
1、無連接狀態——設備和服務器未發生任何關系;
2、連接狀態——設備端已與服務器建立tcp連接,在建立連接后設備端將收到服務器發來的{"M":"WELCOME TO BIGIOT"}\n
歡迎信息;
3、登錄狀態——設備端與服務建立連接后發送checkin指令,并收到checkinok確認登錄成功,此時設備顯示在線狀態;
1、TCP 8181 端口
此端口不向設備端發送心跳包,需設備端主動向服務報到,80s內服務器未收到客戶端發來有效數據將主動關閉連接。
設備端可根據網絡情況每隔30-60s向服務器發一次有效數據(符合通信協議的數據)。
此端口適合連續發送實時數據的設備。
2、TCP 8282 端口
此接口理論上每40s向設備端發送一個心跳包{"M":"b"}\n
,詢問設備是否在線,設備端就進行有效應答,如果連續兩次沒有應答服務器將關閉連接。
服務器端為了節省資源,并非平均每40s發送一次心跳包,而是以你最后一次發送有效數據后的60s左右發送一次心跳包,在這次心跳后沒有收到設備端應答,將在40s后發第二次,如果還未收到應答,將關閉連接。
此端口適合被動接受控制的設備。
3、websocket 8383 端口
1、服務器主動斷開連接
2、設備端斷電
3、設備端斷網
①與路由器斷開連接
②路由器與通信服務商斷開連接
4、設備端主動checkout
①自己checkout自己
②checkout其他設備