0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TCP粘包到底是什么

Wildesbeast ? 來源:今日頭條 ? 作者:wendellFang ? 2020-02-17 17:45 ? 次閱讀

TCP是一種流式連接,對小包會進行封包緩存發(fā)送,大包會出現(xiàn)分包發(fā)送。接收端就會發(fā)現(xiàn)接收到的數(shù)據(jù)和發(fā)送的數(shù)據(jù)的次數(shù)不一致。這個就是粘包現(xiàn)象。

解決:

1、定長數(shù)據(jù)包(太理想)

2、使用特殊標記來區(qū)分消息間隔(字符數(shù)據(jù)可以,二級制數(shù)據(jù)不可行)

3、把消息尺寸與消息一并發(fā)送(目前最通用的做法是在每次發(fā)送的數(shù)據(jù)的固定偏移位置寫入數(shù)據(jù)包的長度)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1324

    瀏覽量

    78755
收藏 人收藏

    評論

    相關(guān)推薦

    功放和運放到底是什么區(qū)別?

    想請問一下功放和運放到底是什么區(qū)別,感覺只要接一個小負載,運放的輸出電流也可以很大啊?到底有什么區(qū)別啊
    發(fā)表于 09-10 07:00

    運放的輸入電容到底是什么?

    我想請問一下運放的輸入電容到底是什么?
    發(fā)表于 09-04 06:52

    tcp_client例程為何去掉發(fā)送后,一直接收就會容易出現(xiàn)數(shù)據(jù)呢?

    / portTICK_PERIOD_MS);} 代碼如下,當(dāng)我使用tcp_client例程,并且把發(fā)送數(shù)據(jù)注釋掉,再接收數(shù)據(jù)就很容易出現(xiàn)TCP數(shù)據(jù),求助 [22:43:18.32
    發(fā)表于 06-17 07:47

    lwip tcp的原因?

    使用lwip協(xié)議棧,作為客戶端應(yīng)答2幀數(shù)據(jù)時,會有問題,在tcp write 后調(diào)用tcp output沒有效果,設(shè)置 #define TF_NODELAY((u8_t)0x40U
    發(fā)表于 05-10 06:51

    共享單車到底是什么通信原理

    我們經(jīng)常騎的共享單車到底是什么通信原理,有人了解過嗎? 一、智能車鎖 共享單車最核心的硬件是智能車鎖,主要用于實現(xiàn)控制和定位功能。
    發(fā)表于 04-09 10:33 ?627次閱讀
    共享單車<b class='flag-5'>到底是</b>什么通信原理

    共享單車到底是什么通信原理?

    我們經(jīng)常騎的共享單車到底是什么通信原理,有人了解過嗎?下面寶藍小編就帶大家了解下。
    的頭像 發(fā)表于 02-25 10:32 ?1132次閱讀
    共享單車<b class='flag-5'>到底是</b>什么通信原理?

    如何解決tcp通信中的問題

    一、 問題概述 1、描述背景 采用TCP協(xié)議進行網(wǎng)絡(luò)數(shù)據(jù)傳送的軟件設(shè)計中,普遍存在問題。這主要是由于現(xiàn)代操作系統(tǒng)的網(wǎng)絡(luò)傳輸機制所產(chǎn)生
    的頭像 發(fā)表于 11-11 11:40 ?1177次閱讀
    如何解決<b class='flag-5'>tcp</b>通信中的<b class='flag-5'>粘</b><b class='flag-5'>包</b>問題

    TCP和拆包產(chǎn)生的原因

    一、TCP現(xiàn)象 what? TCP是個“流”協(xié)議,即沒有邊界。由于這個特性以及實際的網(wǎng)絡(luò)情況,在進行數(shù)據(jù)傳輸時假設(shè)我們連續(xù)調(diào)用send分別發(fā)送兩段數(shù)據(jù)data1和data2,在接收
    的頭像 發(fā)表于 11-10 14:07 ?663次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>粘</b><b class='flag-5'>包</b>和拆包產(chǎn)生的原因

    tcp究竟會帶來多大的性能問題

    一個項目對接第三方接口數(shù)據(jù)。對方是TCP接口,發(fā)送數(shù)據(jù)頻率很高。平均2毫秒發(fā)送三四千個字節(jié)。由于TCP協(xié)議的問題,我這里接收到的數(shù)據(jù)
    的頭像 發(fā)表于 11-08 16:16 ?936次閱讀
    <b class='flag-5'>tcp</b>丟<b class='flag-5'>包</b>究竟會帶來多大的性能問題

    呼吸燈到底是如何影響人的視覺的?

    呼吸燈到底是通過使燈快速亮滅還是改變平均電壓來影響人的視覺的
    發(fā)表于 11-08 06:04

    請問單片機的中斷系統(tǒng)到底是什么?

    中斷系統(tǒng)到底是什么?還搞不定
    發(fā)表于 11-07 07:40

    上拉電阻到底是咋完成上拉的?。?/a>

    上拉電阻到底是咋完成上拉的啊
    發(fā)表于 10-31 06:52

    什么是虛擬線程?虛擬線程到底是做什么用的呢?

    虛擬線程是在Java并發(fā)領(lǐng)域添加的一個新概念,那么虛擬線程到底是做什么用的呢?
    的頭像 發(fā)表于 10-29 10:23 ?2920次閱讀
    什么是虛擬線程?虛擬線程<b class='flag-5'>到底是</b>做什么用的呢?

    單片機的“性能”到底是什么?

    單片機的“性能”到底是什么?
    的頭像 發(fā)表于 10-24 16:58 ?453次閱讀
    單片機的“性能”<b class='flag-5'>到底是</b>什么?

    AT指令,AT固件,這個AT到底是什么意思?

    我們常說AT指令,AT固件,這個AT到底是什么意思?
    發(fā)表于 09-26 07:25