UDP(用戶資料報協議)是一種輕量級的無連接網路協議,常用於時間敏感的應用程式。它允許應用程式在無需建立TCP連接的情況下發送和接收資料。範例Java程式碼可用於建立UDP伺服器和用戶端,伺服器監聽傳入資料封包並回應,客戶端傳送訊息並接收回應。此程式碼可用於建立聊天應用程式或資料收集系統等實戰案例。

Java網路程式設計:使用UDP進行無連線通訊
簡介
UDP(用戶資料報協議)是一種輕量級、無連接的網路協議,常用於時間敏感的應用程式中。它允許應用程式在無需建立TCP連接的情況下發送和接收資料。
用法
以下是使用Java建立UDP伺服器和用戶端的範例:
伺服器程式碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import java.net.*;
public class UDPServer {
public static void main(String[] args) throws Exception {
DatagramSocket serverSocket = new DatagramSocket(6789);
while (true) {
DatagramPacket receivePacket = new DatagramPacket( new byte[1024], 1024);
serverSocket.receive(receivePacket);
InetAddress clientAddress = receivePacket.getAddress();
int clientPort = receivePacket.getPort();
String message = new String(receivePacket.getData(), 0, receivePacket.getLength());
System.out.println( "收到来自 " + clientAddress + ":" + clientPort + " 的消息:" + message);
DatagramPacket responsePacket = new DatagramPacket(
( "响应:" + message).getBytes(),
( "响应:" + message).getBytes().length,
clientAddress,
clientPort
);
serverSocket.send(responsePacket);
}
serverSocket.close();
}
}
|
登入後複製
客戶端程式碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import java.net.*;
public class UDPClient {
public static void main(String[] args) throws Exception {
DatagramSocket clientSocket = new DatagramSocket();
String message = "你好,世界!" ;
byte[] messageBytes = message.getBytes();
DatagramPacket sendPacket = new DatagramPacket(
messageBytes,
messageBytes.length,
InetAddress.getByName( "localhost" ),
6789
);
clientSocket.send(sendPacket);
DatagramPacket receivePacket = new DatagramPacket( new byte[1024], 1024);
clientSocket.receive(receivePacket);
String response = new String(receivePacket.getData(), 0, receivePacket.getLength());
System.out.println( "收到服务器的响应:" + response);
clientSocket.close();
}
}
|
登入後複製
實戰案例
該程式碼可以用於建立一個簡單的聊天應用程式或資料收集系統。例如,您可以使用用戶端程式碼向伺服器傳送訊息,然後使用伺服器程式碼回應訊息。
以上是Java網路程式設計如何使用UDP進行無連線通訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!