Java UDP
UDP没有明确的服务端和客户端,只是提供服务的一端被成为服务端,发送数据的另一端被称为客户端.
UDP在java中通过DatagramSocket来创建UDP套接字, 通过DatagramPacket创建UDP套接字传输的byte数组
提供服务的UDP服务端
import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket;
public class UDPServerSocket {
public static void main(String[] args) throws IOException {
int port = 8080;
DatagramSocket serverSocket = new DatagramSocket(port);
byte[] bytes = new byte[1024];
// 创建接收数据报
DatagramPacket receivePacket = new DatagramPacket(bytes, bytes.length);
// 接收数据报
serverSocket.receive(receivePacket);
// 解析接收到的数据
String message = new String(receivePacket.getData(), 0, receivePacket.getLength());
System.out.println("收到消息:" + message);
}
}
2. 发送数据的UDP客户端
```java
package org.example.socket.udp;
import java.io.IOException;
import java.net.*;
public class UDPClientSocket {
public static void main(String[] args) throws IOException {
// 创建UDP套接字
DatagramSocket socket = new DatagramSocket();
// 创建要发送的数据
byte[] sendData = "Hello, UDP!".getBytes();
// 指定目标地址和端口
InetAddress serverAddress = InetAddress.getByName("localhost");
int serverPort = 8888;
// 创建数据报
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, serverAddress, serverPort);
// 发送数据报
socket.send(sendPacket);
}
}
浙公网安备 33010602011771号