基於TCP和UDP的Socket編程的主要步驟


  • JDK 在 java.net 包中為 TCP 和 UDP 兩種通信協議提供了相應的 Socket 編程類
  • TCP 協議,服務端對應 ServerSocket,客戶端對應 Socket
  • UDP 協議對應 DatagramSocket
  • 基於 TCP 協議創建的套接字可以叫做流套接字,服務器端相當於一個監聽器,用來監聽端口,服務器與客服端之間的通訊都是輸入輸出流來實現的
  • 基於 UDP 協議的套接字就是數據報套接字,客戶端和服務端都要先構造好相應的數據包

 

基於 TCP 協議的 Socket 編程的主要步驟

服務端:

  • 指定本地的端口創建 ServerSocket 實例, 用來監聽指定端口的連接請求
  • 通過 accept() 方法返回的 Socket 實例,建立了一個和客戶端的新連接
  • 通過 Sockect 實例獲取 InputStream 和 OutputStream 讀寫數據
  • 數據傳輸結束,調用 socket 實例的 close() 方法關閉連接

客戶端:

  • 指定的遠程服務器 IP 地址和端口創建 Socket 實例
  • 通過 Socket 實例獲取 InputStream 和 OutputStream 來進行數據的讀寫
  • 數據傳輸結束,調用 socket 實例的 close() 方法關閉連接

 

基於 UDP 協議的 Socket 編程的主要步驟

服務端:

  • 指定本地端口創建 DatagramSocket 實例
  • 通過字節數組,創建 DatagramPacket 實例,調用 DatagramSocket 實例的  receive() 方法,用 DatagramPacket 實例來接收數據
  • 設置 DatagramPacket 實例返回的數據,調用 DatagramSocket 實例的 send() 方法來發送數據
  • 數據傳輸完成,調用 DatagramSocket 實例的 close() 方法

客戶端:

  • 創建 DatagramSocket 實例
  • 通過 IP 地址端口和數據創建 DatagramSocket 實例,調用 DatagramSocket 實例 send() 方法發送數據包
  • 通過字節數組創建 DatagramSocket 實例,調用 DatagramSocket 實例 receive() 方法接受數據包
  • 數據傳輸完成,調用 DatagramSocket 實例的 close() 方法

 

  

來一道刷了進BAT的面試題?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM