Java基础-UDP通信实现一发一收
目录
案例要求:
实现UDP通信 客户端和服务端一发一收
实现思路:
代码:
User类:用户端
Client类:服务端
总结:
案例要求:
实现UDP通信 客户端和服务端一发一收
实现思路:
创建两个DatagramSocket和DatagramPacket即可
代码:
User类:用户端
import java.net.*;public class User {public static void main(String[] args) throws Exception {System.out.println("客户端启动了...");DatagramSocket socket = new DatagramSocket();byte[] bytes = "今晚有空吗,我请你吃烧烤,小龙虾,喝可乐".getBytes() ;DatagramPacket packet = new DatagramPacket(bytes, bytes.length,InetAddress.getLocalHost(), 8888);socket.send(packet);}
}
Client类:服务端
import java.net.DatagramPacket;
import java.net.DatagramSocket;public class Client {public static void main(String[] args) throws Exception{DatagramSocket socket = new DatagramSocket(8888);System.out.println("服务端启动了....");byte[] bytes = new byte[1024*64];DatagramPacket packet=new DatagramPacket(bytes, bytes.length);socket.receive(packet);int len=packet.getLength();String data=new String(bytes,0,len);System.out.println("服务端收到了"+ data);}
}
总结:
本文展示了Java实现UDP通信的简单案例。客户端(User类)通过DatagramSocket发送消息"今晚有空吗..."到本地8888端口,服务端(Client类)监听该端口接收消息并打印。关键点:1)创建DatagramSocket和DatagramPacket对象;2)服务端需指定端口监听;3)使用send()和receive()方法实现数据收发。该案例演示了UDP协议下一发一收的基本通信流程。