日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【Java 网络编程】TCP 传输机制 ( 数据拆分 | 排序 | 顺序发送 | 顺序组装 | 超时重发 )

發布時間:2025/6/17 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Java 网络编程】TCP 传输机制 ( 数据拆分 | 排序 | 顺序发送 | 顺序组装 | 超时重发 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

        • I TCP 傳輸過程
        • II TCP 傳輸示例
        • III TCP 傳輸特殊情況處理



I TCP 傳輸過程



1. TCP 傳輸過程 : 排序 , 順序發送 , 順序組裝 ;

  • 排序 : TCP 發送數據時 , 會將數據拆分成不同的片段 , 并對這些片段進行排序 ;
  • 順序發送 : 將排序好的數據片段順序發送 ;
  • 順序組裝 : 在接收端按照順序將數據片段組裝成原數據 ;

2. 超時重發機制 : 如果某個數據片沒有到達 , 或者送達時間超時 , 接收方會將相關信息反饋給發送方 , 發送方需要將該數據片重新發送 ;

3. 拆分數據作用 ( 節省流量 ) : 當數據沒有送達或者超時 , 是需要重新發送數據的 , 如果不拆分數據 , 將一整包數據整體發送 , 如果發送失敗 , 需要重新發送整個數據 , 這樣就非常浪費流量 ;

4. 數據重發機制 : 服務器端收到客戶端發送的數據時 , 其會定時向客戶端發送服務器端已經收到的數據 , 如果客戶端沒有收到服務器端反饋的某條數據已經送達 , 客戶端就會認為該數據沒有送達 , 客戶端重新將該數據重新發送一遍 ;



II TCP 傳輸示例



1. A 向 B 發送 5 個數據包 :

  • ① 發送第一幀數據 ( 完成 ) : 首先將第一幀數據發送給 B , B 收到 1 數據 , 將收到 1 數據反饋給 A , 表明已經收到了第一幀數據 ;
  • ② 發送第二幀數據 ( 反饋信息未送達 ) : 發送第二幀數據 , 接收方收到了 2 數據 , 但是反饋信息沒能發送給 A ;
  • ③ 發送第三幀數據 ( 沒有送達 B ) : 發送的第三幀數據沒有發送到 B , 中途丟包了 ;
  • ④ 發送第四幀數據 ( 反饋信息未送達 ) : 第四幀數據送達 B , 但是 B 的反饋信息沒有送達 A ;
  • ⑤ 發送第五幀數據 ( 完成 ) : 第五幀數據發送到 B , B 的反饋信息也送到了 A ;

2. 重發數據 : 其中第三幀數據沒有送達 , 時鐘超時 , B 將相關信息發送到 A , A 重發第三幀數據 ;



III TCP 傳輸特殊情況處理



1. 發送過程中沒有按順序到達 : 被拆分的數據包是按照排好的順序發送到接收端的 , 但是由于網絡原因 , 可能到達接收方不是原來的順序 , 接收方會重新進行排序 ;

2. 丟包情況處理 : 如果發送端在超時時間內沒有收到接收端的某個包的反饋信息 , 就會認為該包沒有送達 , 在超時后 , 會重新發送該包數據 ;

3. 連接斷開情況處理 : 如果連接傳輸中途斷開 , 需要進行重連 , 重連后再次發送數據 ;

總結

以上是生活随笔為你收集整理的【Java 网络编程】TCP 传输机制 ( 数据拆分 | 排序 | 顺序发送 | 顺序组装 | 超时重发 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。