Netty長連接過程中如何判斷在線和離線狀態

話題背景:

       在實際的開發過程中,TCP長連接對於我們的服務程序來說需要同時滿足兩個條件,1個是TCP保持連接,另外一個最關鍵是有通信數據。

      在開發過程中可能會遇到以下幾種問題:

     1、TCP連接了, 但客戶端沒有實際數據通信;

     2、TCP連接了,但服務器端沒有給客戶端發送實際數據通信;

     3、TCP連接了,客戶端前期發送數據,但後期長時間沒有發送數據;

     4、TCP連接後,數據通信一段時間後,客戶端突然斷電;

     5、TCP連接後,服務器端發送數據後,客戶端沒應答;

(如果還有其他可能性,歡迎補充)

那此時,判斷TCP連接是否正常,需要從服務器端和客戶端兩方面入手去考慮。針對以上問題, 我們逐個分析:

1、TCP連接了,但客戶端沒有實際數據通信,如果不處理這個問題,或許對一些小的應用開發沒特別大的問題,但隨着連接的客戶端增多還有服務器資源的減少,服務端的資源會被大量佔用,不利於應用的穩定性;所以此時需要增加一個機制:當客戶端連接後,如果再設定時間內無數據通信,則視爲無效連接,並從服務器端主動斷開和該客戶端的連接;

2、TCP連接了,但服務器端沒有給客戶端發送實際的數據通信,一般比較少出現這種情況,除非服務器端的功能還沒做好。 那此時客戶端登錄註冊後無應答,則需要重新連接服務器試着發送通信數據,看服務器是否應答,如多次未應答,則在客戶端顯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章