java UDP 模板
UDP(User Datagram Protocol)是一种无连接的传输层协议,在 Java 中可以使用 UDP 进行网络编程。理论上没有服务器客户端之分,实际上算是有的,以下是 Java 中 UDP 编程的基本步骤和示例代码:
服务器端
- 创建
DatagramSocket
对象,指定端口号,用于接收客户端发送的数据报。 - 创建
DatagramPacket
对象,用于接收数据。 - 使用
DatagramSocket
的receive
方法接收数据报,将数据存储在DatagramPacket
中。 - 从
DatagramPacket
中获取数据,并进行处理。 - 关闭
DatagramSocket
。import java.net.*;public class UDPServer {public static void main(String[] args) throws Exception {// TODO Auto-generated method stub//1.创建DatagramSocket对象,指定端口号。用于接收客户端发送的数据报DatagramSocket socket = new DatagramSocket(6002); //2.创建DatagramPacket 对象,用于接收数据.byte [] buffer = new byte[1024];DatagramPacket packet = new DatagramPacket(buffer, buffer.length);//3.使用 DatagramSocket 的 receive 方法接收数据报,将数据存储在 DatagramPacket 中socket.receive(packet);//4.从DatagramPacket中获取数据,并进行处理String message = new String(packet.getData(),0,packet.getLength());System.out.println(message);//5.关闭DatagramSocketsocket.close();}}
客户端
- 创建
DatagramSocket
对象,用于发送数据报。 - 创建
DatagramPacket
对象,指定要发送的数据、目标 IP 地址和端口号。 - 使用
DatagramSocket
的send
方法发送数据报。 - 关闭
DatagramSocket
。import java.net.*; public class UDPClient {public static void main(String[] args) throws Exception{// TODO Auto-generated method stub//1.创建 DatsagramSocket 对象 ,用于发送数据报DatagramSocket socket = new DatagramSocket();//2.创建DatagramPacket 对象,指定要发送的数据,目标IP地址和端口号//要发送的数据String message = "你好,服务器";byte [] buff = message.getBytes();//创建DatagramPacket 对象,指定目标IP地址和端口号InetAddress address = InetAddress.getByName("127.0.0.1");DatagramPacket packet = new DatagramPacket(buff, buff.length, address, 6002);//3.使用DatagramSocket 的send方法发送数据报socket.send(packet);//4.关闭DatagramSocketsocket.close();}}