国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

TCP客戶端發(fā)送數(shù)據(jù)很大,服務(wù)端接收時(shí)被拆分成多條,應(yīng)該如何處理成一條?

lsqpy

客戶端發(fā)送數(shù)據(jù)如下:
截圖

服務(wù)端接收數(shù)據(jù)如下:
截圖

請(qǐng)問(wèn)服務(wù)端應(yīng)該如何組裝數(shù)據(jù),或者說(shuō)怎么處理成一條

5698 1 0
1個(gè)回答

walkor 打賞

TCP有兩個(gè)特點(diǎn):
1、基于流式傳輸(分片傳輸)
2、數(shù)據(jù)數(shù)據(jù)流沒(méi)有邊界

根據(jù)特點(diǎn)1,數(shù)據(jù)大于某個(gè)值(1.4k左右)就會(huì)被分片,所以基于TCP傳輸時(shí)你收到數(shù)據(jù)的時(shí)候就是一段一段的。
根據(jù)特點(diǎn)2,由于沒(méi)有邊界,沒(méi)有辦法知道收到當(dāng)前這一段數(shù)據(jù)是否是最后一段,只能通知業(yè)務(wù)自行判斷。所以業(yè)務(wù)與服務(wù)端要定一個(gè)通訊協(xié)議,一般是把整個(gè)包的大小寫到某個(gè)位置,例如http協(xié)議里post請(qǐng)求的數(shù)據(jù)大小一般放到http頭里的content-length字段里。

正是由于以上兩特點(diǎn),所以才在TCP基礎(chǔ)上產(chǎn)生了那么多的通訊協(xié)議,例如http、smtp、websocket、ftp、mqtt等等。通訊協(xié)議的作用就是從分段傳輸?shù)臄?shù)據(jù)中計(jì)算出請(qǐng)求長(zhǎng)度,并把數(shù)據(jù)流里的完整請(qǐng)求組裝拆分出來(lái)。

所以你要做的就是采用某種通訊協(xié)議來(lái)傳輸你的數(shù)據(jù)。
參考手冊(cè)
http://doc.workerman.net/protocols/why-protocols.html
http://doc.workerman.net/protocols/how-protocols.html
http://doc.workerman.net/protocols/example.html

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??