java接收udp数据
时间: 2023-07-24 22:04:22 浏览: 50
要接收UDP数据,可以使用Java提供的`java.net.DatagramSocket`类。以下是接收UDP数据的示例代码:
```java
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UdpReceiver {
public static void main(String[] args) throws Exception {
DatagramSocket socket = new DatagramSocket(8888); // 创建DatagramSocket对象并指定端口号
byte[] buffer = new byte[1024]; // 创建字节数组缓冲区
DatagramPacket packet = new DatagramPacket(buffer, buffer.length); // 创建DatagramPacket对象
while (true) {
socket.receive(packet); // 接收数据包
String message = new String(packet.getData(), 0, packet.getLength()); // 将字节数组转换为字符串
System.out.println("Received data: " + message);
}
socket.close(); // 关闭socket
}
}
```
在上述代码中,创建`DatagramSocket`对象时指定了端口号,该端口号与发送方发送数据时的端口号应该相同。然后,创建一个字节数组缓冲区和一个`DatagramPacket`对象,用于接收数据。在循环中,调用`socket.receive(packet)`方法接收数据包,将接收到的字节数组转换为字符串,并输出到控制台中。最后,关闭socket。