传输的大小有限制,一般小于60k
一、接收端五步走:
1、使用DatagramSocket 指定端口创建接收端
2、准备容器,封装成DatagramPacket包裹
3、阻塞式接收包裹receive(DatagramPacket p)
4、分析数据 byte[] getData(), getLength()
5、释放资源
public static void main(String[] args) throws Exception{
System.out.println("接收方启动中。。。");
//1、使用DatagramSocket 指定端口 创建接收端
DatagramSocket server = new DatagramSocket(9999);
//2、准备容器 封装成DatagramPacket包裹
byte[] container = new byte[1024*60];
DatagramPacket packet = new DatagramPacket(container, 0, container.length);
//3、阻塞式接收包裹receive(DatagramPacket p)
server.receive(packet);//阻塞式
//4、分析数据 byte[] getData() getLength()
byte[] datas = packet.getData();
int len = packet.getLength();
System.out.println(new String(datas,0,len));
//5、释放资源
server.close();
}
二、发送端五步走:
1、使用DatagramSocket 指定端口创建发送端
2、准备数据,转成字节数组
3、封装成DatagramPacket包裹,需要指定目的地
4、发送包裹send(DatagramPacket p)
5、释放资源
public static void main(String[] args) throws Exception {
System.out.println("发送方启动中。。。");
//1、指定端口创建发送端
DatagramSocket client = new DatagramSocket(8888);
//2、准备要发送的数据,转成字节数组
String data = "这是要发送的数据";
byte[] datas = data.getBytes();
//3、封装成DatagramPacket包裹,需要指定目的地
DatagramPacket packet = new DatagramPacket(datas, 0, datas.length,
new InetSocketAddress("localhost", 9999));
//4、发送包裹send
client.send(packet);
//5、释放资源
client.close();
}