TCP是一種流式連接,對小包會進(jìn)行封包緩存發(fā)送,大包會出現(xiàn)分包發(fā)送。接收端就會發(fā)現(xiàn)接收到的數(shù)據(jù)和發(fā)送的數(shù)據(jù)的次數(shù)不一致。這個就是粘包現(xiàn)象。
解決:
1、定長數(shù)據(jù)包(太理想)
2、使用特殊標(biāo)記來區(qū)分消息間隔(字符數(shù)據(jù)可以,二級制數(shù)據(jù)不可行)
3、把消息尺寸與消息一并發(fā)送(目前最通用的做法是在每次發(fā)送的數(shù)據(jù)的固定偏移位置寫入數(shù)據(jù)包的長度)
-
TCP
+關(guān)注
關(guān)注
8文章
1372瀏覽量
79142
發(fā)布評論請先 登錄
相關(guān)推薦
評論