import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.util.Base64;
public class Server {
public static void main(String[] args) throws Exception {
//创建UDP服务器对象
DatagramSocket ds = new DatagramSocket(5555);
//创建数据包
byte[] bs = new byte[64];
DatagramPacket dp = new DatagramPacket(bs, bs.length);
//使用服务器对象接收数据 放进数据包中
ds.receive(dp);
byte[] bs2 = dp.getData();//64
byte[] bs3 = Base64.getDecoder().decode(bs2);
System.out.println(new String(bs3));
}
}
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Inet4Address;
import java.util.Base64;
public class Client {
public static void main(String[] args) throws Exception {
//创建客户端对象
DatagramSocket socket = new DatagramSocket();
//创建数据包
byte[] bs = "{type:001,content:你好吗?}".getBytes();
byte[] bs2 = new byte[64];
//拷贝数据
for (int i = 0; i < bs.length; i++) {
bs2[i] = bs[i];
}
//空的地方填充0
for (int i = bs.length; i < 64; i++) {
bs2[i] = 0;
}
//加密
String string = Base64.getEncoder().encodeToString(bs2);
DatagramPacket dp = new DatagramPacket(string.getBytes(), 64,Inet4Address.getLocalHost(),5555);
//发送数据包
socket.send(dp);
}
}