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