UDP(User Datagram Protocol)中文名:用户数据报协议,此协议是将网络数据流压缩成数据报(包)的格式进行发送,因此没有流的概念。是一种简单但是不可靠(有可能丢失信息)的协议。

下面用Java实现UDP:

服务器端

DatagramSocket serverSocket = new DatagramSocket(1234);//设置监听端口,可以和TCP端口重复,及一个应用程序用TCP占用端口1234,另一个程序可以用UDP占用端口1234

byte[] buff = new byte[1024];

DatagramPacket packet = new DatagramPacket(buff, buff.length);//设置接受长度为buff.leng的buff数据

serverSocket.receive(packet);//收取UDP数据包

String word = new String( packet.getData(), packet.getOffset(), packet.getLength(),StandardCharsets.UTF_8 );//将收到的数据按UTF-8转换为String

System.out.println("已经收到"+word);//在服务器做出提示
                byte[] resultbuff = word.getBytes();
                packet.setData(resultbuff);
                serverSocket.send(packet);
//发送数据给客户端做出回应

下面为完整截图

java udp网络编程 java实现udp_TCP

 

客户端与服务器端类似,但相比较为简单

java udp网络编程 java实现udp_java_02