UDP是一種無連接的通信協議,具有高效、實時的特點。在Java語言中,使用UDP通信時需要使用DatagramSocket和DatagramPacket類。
發送數據:
try { // 創建DatagramSocket對象,指定發送端口 DatagramSocket udpSocket = new DatagramSocket(8888); // 創建DatagramPacket對象,接收數據 byte[] buf = "Hello World".getBytes(); InetAddress address = InetAddress.getByName("192.168.1.1"); //指定發送地址 DatagramPacket packet = new DatagramPacket(buf, buf.length, address, 8899); //指定接收端口 // 發送數據包 udpSocket.send(packet); // 關閉DatagramSocket udpSocket.close(); } catch (IOException e) { e.printStackTrace(); }
接收數據:
try { // 創建DatagramSocket對象,指定接收端口 DatagramSocket udpSocket = new DatagramSocket(8899); // 創建DatagramPacket對象,接收數據 byte[] buf = new byte[1024]; DatagramPacket packet = new DatagramPacket(buf, buf.length); // 接收數據包 udpSocket.receive(packet); // 處理數據 String data = new String(buf, 0, packet.getLength()); System.out.println("接收到數據:" + data); // 關閉DatagramSocket udpSocket.close(); } catch (IOException e) { e.printStackTrace(); }
在發送數據時,需要指定發送地址和接收端口;在接收數據時,需要指定接收端口。發送和接收的數據格式均為字節數組,需要進行轉換。