pingInterval設(shè)置為5
pingNotResponseLimit設(shè)置為0
pingData設(shè)置為'{"type":"ping"}'
項(xiàng)目運(yùn)行時(shí),每隔5秒左右服務(wù)端就會(huì)向客戶端發(fā)送心跳包,但還是每隔近30秒連接就會(huì)斷開
代碼如圖
1、TCP連接斷開了,那得先確認(rèn)下到底是哪一端斷開了? 抓包可看得一清二楚。
2、這種配置并不能代表TCP連接就一定不斷開,只表明了這樣一個(gè)含義:
你客戶端給發(fā)不發(fā)心跳包,我服務(wù)端并不在乎,而且服務(wù)端也不會(huì)主動(dòng)去關(guān)閉TCP連接;與此同時(shí)服務(wù)端會(huì)每隔5秒給客戶端發(fā)送心跳數(shù)據(jù){"type":"ping"}
3、小心手冊注意事項(xiàng): 路由節(jié)點(diǎn)防火墻會(huì)關(guān)閉長時(shí)間不通訊的socket連接,導(dǎo)致socket長連接斷開。所以需要客戶端與服務(wù)端定時(shí)發(fā)送心跳數(shù)據(jù)保持連接不被斷開。