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

Java Socket 程式設計(二):面向連線類別架構與 TCP 協定特性

     編輯:Java 相關知識

TCP 面向連線特性

TCP 提供可靠、有序、雙向的位元組串流服務。Java 以 Socket(客戶端)與 ServerSocket(伺服器)封裝 TCP 協定,提供串流介面:

// 客戶端
Socket socket = new Socket(host, port);
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();

// 伺服器端
ServerSocket server = new ServerSocket(port);
Socket client = server.accept();
InputStream in = client.getInputStream();
OutputStream out = client.getOutputStream();

串流操作模式

建立連線後,雙端均可進行 開啟 → 讀寫 → 關閉 的標準串流操作,資料到達順序與發送順序完全一致。

適用場景

  • 檔案傳輸(FTP、HTTP 下載)
  • 資料庫連線(JDBC)
  • 遠端登入(SSH、Telnet)
  • 郵件傳輸(SMTP、POP3、IMAP)
  • 任何要求資料完整性與順序性的應用

效能權衡

TCP 為確保可靠性,引入確認機制、重傳、流量控制、阻塞控制,帶來額外延遲與記憶體開銷。高頻即時應用(如語音、視訊、遊戲)常改用 UDP 或 QUIC 協定。

Java 類別層次

java.net
├── Socket          // TCP 客戶端
├── ServerSocket    // TCP 伺服器
├── DatagramSocket  // UDP 通用
├── DatagramPacket  // UDP 資料單元
└── MulticastSocket // UDP 多點傳送

面向連線類別將在後續章節詳細探討客戶端與伺服器端實作細節。

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