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