import java.net.DatagramPacket;import java.net.DatagramSocket;public class UDPTestServer { public static void main(String[] args) { DatagramSocket datagramSocket = null; try{ datagramSocket= new DatagramSocket(8888); //创建数据缓冲区 byte[] bytes = new byte[1024]; //创建数据报包对象 DatagramPacket datagramPacket = new DatagramPacket(bytes,bytes.length); //等待接收客户端发送的数据 datagramSocket.receive(datagramPacket); String str=new String(datagramPacket.getData(),0,datagramPacket.getLength()); System.out.println(str); }catch (Exception e){ e.printStackTrace(); }finally { if(datagramSocket!=null){ datagramSocket.close(); } } }}
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.nio.charset.StandardCharsets;
public class UDPSocketClient {
public static void main(String[] args) {
DatagramSocket datagramSocket = null;
try{
//消息需要进行转换,转换成字节数据类型
byte[] bytes="我爱学习".getBytes(StandardCharsets.UTF_8);
//创建数据报包包装对象 DatagramPacket
DatagramPacket datagramPacket = new DatagramPacket(bytes,bytes.length,new InetSocketAddress("127.0.0.1",9999));
//创建数据发送对象 DatagramSocket,需要指定消息的发送端口
datagramSocket = new DatagramSocket(8888);
//发送消息
datagramSocket.send(datagramPacket);
}catch (Exception e){
e.printStackTrace();
}finally {
if(datagramSocket!=null){
datagramSocket.close();
}
}
}
}