首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java Socket 通信基礎總結:TCP/IP 模型、三次握手、短連接與長連接

     編輯:Java 綜合教學

Java Socket 通信核心知識體系

Socket 是應用層與 TCP/IP 協議棧的門面模式封裝,隱藏了協議細節。本文匯總網絡分層、TCP 報文、三次握手及連接模式。

一、網絡分層模型

1. ISO/OSI 七層模型

OSI七層

2. TCP/IP 五層模型

TCP/IP五層

  • 應用層 ≈ OSI 會話層 + 表示層 + 應用層
  • 傳輸層(TCP/UDP)
  • 網絡層(IP)
  • 數據鏈路層
  • 物理層

二、TCP 報文關鍵字段

TCP報文

  • 序號:32位,標識發送字節流順序。
  • 確認號:32位,ACK=1 時有效,值 = 對方序號 + 1。
  • 標志位(6個):
    • URG:緊急指針有效
    • ACK:確認號有效
    • PSH:接收方儘快交付應用層
    • RST:重置連接
    • SYN:發起新連接
    • FIN:釋放連接

注意:確認號 Ack 與標志位 ACK 含義不同,Ack=Seq+1 配對。

三、Socket 通信原理

Socket門面模式

Socket 封裝 TCP/IP 復雜性,提供簡單 API(bind、listen、accept、connect、read、write)。

四、三次握手

詳見:Socket 連接建立與關閉詳細圖解

五、連接模式

1. 短連接

連接 → 傳輸 → 關閉。HTTP 1.0 默認短連接,無狀態。

2. 長連接

連接建立後保持,多次請求復用。HTTP 1.1 默認長連接(Connection: keep-alive)。

六、總結

理解 TCP/IP 分層、報文結構與握手流程,是編寫高性能網絡應用、排查連接異常的基礎。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved