使用 DatagramSocket() 创建一个数据包套接字。 使用 DatagramPacket() 创建要发送的数据包。 使用 DatagramSocket 类的 send() 方法发送数据包。 接收 UDP 数据包的步骤如下: 使用 DatagramSocket 创建数据包套接字,并将其绑定到指定的端口。 使用 DatagramPacket 创建字节数组来接收数据包。 使用 DatagramPacket 类的 receive() 方法接收 UDP 包。的JAVA代码
时间: 2024-03-12 13:44:02 浏览: 20
好的,以下是一个使用 DatagramSocket 和 DatagramPacket 进行 UDP 数据包发送和接收的 Java 代码示例:
发送 UDP 数据包:
``` java
import java.net.*;
public class UDPClient {
public static void main(String[] args) throws Exception {
// 创建 DatagramSocket 套接字
DatagramSocket clientSocket = new DatagramSocket();
// 创建要发送的数据包
byte[] message = "Hello, UDP!".getBytes();
InetAddress address = InetAddress.getByName("127.0.0.1");
int port = 8888;
DatagramPacket packet = new DatagramPacket(message, message.length, address, port);
// 发送数据包
clientSocket.send(packet);
// 关闭套接字
clientSocket.close();
}
}
```
接收 UDP 数据包:
``` java
import java.net.*;
public class UDPServer {
public static void main(String[] args) throws Exception {
// 创建 DatagramSocket 套接字并绑定到指定端口
DatagramSocket serverSocket = new DatagramSocket(8888);
// 创建字节数组来接收数据包
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
// 接收 UDP 数据包
serverSocket.receive(packet);
// 从接收到的数据包中获取数据
byte[] data = packet.getData();
String message = new String(data, 0, packet.getLength());
System.out.println("接收到 UDP 数据包:" + message);
// 关闭套接字
serverSocket.close();
}
}
```
注意,以上示例代码中的 IP 地址和端口号都是本地环回地址和端口号,仅用于示例目的。您可以根据需要将其更改为其他 IP 地址和端口号。