【Java 基础篇】Java UDP通信详解
import java.net.*;
public class UdpEchoClient {
public static void main(String[] args) {
try {
// 创建数据报套接字连接本地端口3721
DatagramSocket socket = new DatagramSocket();
// 确定服务器地址和端口
InetAddress serverAddress = InetAddress.getByName("127.0.0.1");
int serverPort = 3721;
// 创建数据包,准备发送的数据
String message = "Hello, UDP server!";
byte[] data = message.getBytes();
DatagramPacket sendPacket = new DatagramPacket(data, data.length, serverAddress, serverPort);
// 发送数据报
socket.send(sendPacket);
// 准备接收返回的数据
byte[] buffer = new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(buffer, buffer.length);
// 接收服务器返回的数据报
socket.receive(receivePacket);
// 输出服务器返回的数据
String receivedMessage = new String(receivePacket.getData(), 0, receivePacket.getLength());
System.out.println("Received message: " + receivedMessage);
// 关闭数据报套接字
socket.close();
} catch (SocketException e) {
e.printStackTrace();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这段代码展示了如何使用Java的DatagramSocket
和DatagramPacket
类来实现UDP协议的客户端通信。代码创建了一个数据报套接字,准备了发送和接收数据的数据包,并且展示了如何发送数据到服务器和接收服务器的响应。最后,关闭了数据报套接字,完成整个通信过程。
评论已关闭