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

UDP DatagramSocket 實作網路聊天室:客戶端與伺服器端完整代碼

     編輯:Java 相關知識

UDP 協議特性與適用場景

UDP(User Datagram Protocol)是無連線、不可靠的傳輸協議,適合即時性要求高、容忍少量丟包的場景(如語音、視訊、遊戲狀態同步)。本範例使用 DatagramSocket 與 DatagramPacket 實作簡易雙向聊天程式,展示 UDP 通訊核心流程。

客戶端核心邏輯

  • 建立 DatagramSocket 綁定任意可用埠
  • 循環讀取標準輸入,輸入「bye」結束
  • 將訊息封裝為 DatagramPacket 發送至伺服器固定埠(4000)
  • receive() 阻塞等待伺服器回應並列印

伺服器端核心邏輯

  • 綁定固定埠 4000 監聽
  • 循環 receive() 接收封包,解析內容與發送者資訊
  • 讀取控制台輸入回覆訊息,封裝發送回原發送者 IP/埠

關鍵技術細節

緩衝區大小 1000 位元組,超長訊息會被截斷。雙方皆在建構子中執行無限迴圈,屬教學示範架構;實務應用應將通訊邏輯移至獨立執行緒,並加入逾時重傳、封包序號、心跳機制等可靠性設計。

編譯與執行

javac ChatClient.java ChatServer.java
java ChatServer   # 先啟動伺服器
java ChatClient   # 再啟動客戶端

本範例為《Java 100 例》第 51 例,適合理解 UDP Socket 基礎程式設計。

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