实现java的UDP通信
时间: 2024-01-02 10:06:43 浏览: 75
Java的UDP通信可以通过Java的DatagramSocket和DatagramPacket两个类来实现。下面是一个简单的UDP通信的示例代码:
发送端代码:
```java
import java.net.*;
public class UDPSender {
public static void main(String[] args) throws Exception {
String message = "Hello, world!"; // 要发送的消息
int port = 12345; // 发送的目标端口号
InetAddress address = InetAddress.getByName("localhost"); // 发送的目标IP地址
DatagramSocket socket = new DatagramSocket(); // 创建DatagramSocket对象
byte[] buffer = message.getBytes(); // 将消息转换成字节数组
DatagramPacket packet = new DatagramPacket(buffer, buffer.length, address, port); // 创建DatagramPacket对象
socket.send(packet); // 发送消息
socket.close(); // 关闭socket
}
}
```
接收端代码:
```java
import java.net.*;
public class UDPReceiver {
public static void main(String[] args) throws Exception {
int port = 12345; // 接收端口号
DatagramSocket socket = new DatagramSocket(port); // 创建DatagramSocket对象
byte[] buffer = new byte[1024]; // 创建接收数据的字节数组
DatagramPacket packet = new DatagramPacket(buffer, buffer.length); // 创建DatagramPacket对象
socket.receive(packet); // 接收消息
String message = new String(packet.getData(), 0, packet.getLength()); // 转换成字符串
System.out.println("Received message: " + message); // 输出接收到的消息
socket.close(); // 关闭socket
}
}
```
注意:在发送端和接收端都需要关闭socket。
阅读全文