目录
案例要求:
实现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协议下一发一收的基本通信流程。