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

Java 網絡編程基礎筆記:URL 處理、TCP Socket 通信與 UDP Datagram 實現

     編輯:Java 綜合教學

一、統一資源定位符 (URL)

1. 網絡地址表示

  • IP 形式:166.111.4.100
  • 域名形式:www.aaaa.edu.cn
  • Java 中用 InetAddress 封裝,getLocalHost() 獲取本機實例。

2. URL 結構

協議://主機:端口/文件#引用
例:https://www.aaaa.edu.cn:8080/demo/urlprie.html#INSTALL

3. 讀取網絡資源步驟

  1. new URL("https://...") 創建實例
  2. url.openStream() 獲取輸入流
  3. 可選:用 BufferedInputStream 或 BufferedReader 包裝提速
  4. 讀取數據處理
  5. 關閉流

二、基於 TCP 的 Socket 通信(可靠、面向連接)

像打電話:先建立連接,雙方通過 Socket 收發數據。

服務端流程

  1. ServerSocket server = new ServerSocket(port);
  2. Socket client = server.accept(); 阻塞等待連接
  3. 獲取 client.getInputStream()/getOutputStream() 通信
  4. 關閉資源

客戶端流程

  1. Socket socket = new Socket(host, port);
  2. 獲取流通信
  3. 關閉

三、基於 UDP 的 Datagram 通信(不可靠、無連接)

像寄信:封裝 DatagramPacket,通過 DatagramSocket 發送/接收,不保證到達、不保證順序。

通用模型(客戶端/服務端類似)

  1. 創建 DatagramSocket
  2. 構造 DatagramPacket(buf, len, address, port) (發送) 或 new DatagramPacket(buf, len) (接收)
  3. socket.send(packet) / socket.receive(packet)
  4. 關閉 Socket

模型圖:

總結對比

特性TCP (Socket)UDP (Datagram)
連接性面向連接無連接
可靠性可靠、有序、無錯誤不可靠、無序、可能丟包/重複
效率較低(握手、確認、重傳)高(無開銷)
適用場景文件傳輸、郵件、Web、遠程登錄視頻流、語音、廣播、DNS、SNMP
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved