socket服務器 本地測試不丟包,外網測試丟包問題

我做了一個物聯網服務器,測試時發現,“socket服務器 本地測試不丟包,外網測試丟包問題!!”

間隔200ms以內都會丟包,最後通過排除發現,TCP經常會出現粘包現象

 

一般採用TCP通訊協議,TCP經常會出現粘包現象,通常做法是做長度校驗,每個包加入包長,一般佔用2個byte用short表示,接收方收到包以後先計算包長,在截取包長字節數存儲,接收到的包長如果小於包長,則繼續接收,如果大於包長,則截取包長數據存儲,剩餘字節數緩存到下一次讀取,依次循環。

最終得到解決,希望能夠給坑裏的同志們一些幫助!

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