UDP(User Datagram Protocol)是無連線、不可靠的傳輸協議,適合即時性要求高、容忍少量丟包的場景(如語音、視訊、遊戲狀態同步)。本範例使用 DatagramSocket 與 DatagramPacket 實作簡易雙向聊天程式,展示 UDP 通訊核心流程。
DatagramSocket 綁定任意可用埠DatagramPacket 發送至伺服器固定埠(4000)receive() 阻塞等待伺服器回應並列印receive() 接收封包,解析內容與發送者資訊緩衝區大小 1000 位元組,超長訊息會被截斷。雙方皆在建構子中執行無限迴圈,屬教學示範架構;實務應用應將通訊邏輯移至獨立執行緒,並加入逾時重傳、封包序號、心跳機制等可靠性設計。
javac ChatClient.java ChatServer.java
java ChatServer # 先啟動伺服器
java ChatClient # 再啟動客戶端
本範例為《Java 100 例》第 51 例,適合理解 UDP Socket 基礎程式設計。