java实现udp网络通信的代码,并给出详细的注释
时间: 2024-01-22 14:18:27 浏览: 76
以下是Java实现UDP网络通信的代码,附带详细的注释:
```
import java.net.*;
public class UDPClient {
public static void main(String args[]) throws Exception {
// 创建UDP客户端Socket
DatagramSocket clientSocket = new DatagramSocket();
// 准备发送的数据
String message = "Hello, server!";
byte[] sendData = message.getBytes();
// 设置服务器地址和端口号
InetAddress serverAddress = InetAddress.getByName("localhost");
int serverPort = 9876;
// 创建UDP数据包,并指定服务器地址和端口号
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, serverAddress, serverPort);
// 发送UDP数据包到服务器
clientSocket.send(sendPacket);
// 接收服务器的响应
byte[] receiveData = new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
clientSocket.receive(receivePacket);
// 将服务器响应转换成字符串并输出
String response = new String(receivePacket.getData());
System.out.println("Response from server: " + response.trim());
// 关闭UDP客户端Socket
clientSocket.close();
}
}
```
注释:
1. `import java.net.*;` 导入Java提供的网络编程相关的类库。
2. `DatagramSocket clientSocket = new DatagramSocket();` 创建UDP客户端Socket。
3. `String message = "Hello, server!";` 准备发送的数据。
4. `byte[] sendData = message.getBytes();` 将数据转换成字节数组。
5. `InetAddress serverAddress = InetAddress.getByName("localhost");` 获取服务器地址。
6. `int serverPort = 9876;` 指定服务器端口号。
7. `DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, serverAddress, serverPort);` 创建UDP数据包,并指定服务器地址和端口号。
8. `clientSocket.send(sendPacket);` 发送UDP数据包到服务器。
9. `byte[] receiveData = new byte[1024];` 准备接收服务器响应的数据。
10. `DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);` 创建UDP数据包,用于接收服务器响应。
11. `clientSocket.receive(receivePacket);` 接收服务器响应。
12. `String response = new String(receivePacket.getData());` 将服务器响应转换成字符串。
13. `System.out.println("Response from server: " + response.trim());` 输出服务器响应。
14. `clientSocket.close();` 关闭UDP客户端Socket。
阅读全文