客户端
//Udp通过数据包来传递消息
public class Client {
public static void main(String[] args) throws Exception {
//建立一个socket
DatagramSocket socket = new DatagramSocket();
//建个数据报包
String msg ="阿杰,你好!";
InetAddress localhost = InetAddress.getByName("localhost");
int port=9090;
//建个数据包(数据,数据的起始长度,接收者的地址)
DatagramPacket packet = new DatagramPacket(msg.getBytes(StandardCharsets.UTF_8), 0, msg.getBytes(StandardCharsets.UTF_8).length, localhost, port);
//发送包
socket.send(packet);
//关闭流
socket.close();
}
}
服务端
public class Server {
public static void main(String[] args) throws Exception {
//开放端口
DatagramSocket socket = new DatagramSocket(9090);
//接收数据包
byte[] buffer = new byte[1024];
//通过这个包来接收并存储数据
DatagramPacket packet = new DatagramPacket(buffer, 0, buffer.length);
socket.receive(packet);//阻塞接收
//读取数据
//将字节流转换为字符型并输出数据
System.out.println(new String(packet.getData(),0,packet.getLength()));
socket.close();
}
}
结果: