1. 发送数据
UDP发送数据的步骤
1.创建发送端的Socket对象(DatagramSocket)
2.创建数据,并把数据打包
3.调用DatagramSocket
4.关闭发送端
2.发送数据代码
import java.io.IOException;
import java.net.*;
public class SendDemo {
public static void main(String[] args) throws IOException {
// 1.创建发送端的Socket对象(DatagramSocket)
DatagramSocket ds = new DatagramSocket();
// 2.创建数据,并把数据打包
//DatagramPacket(byte[] buf, int length, InetAddress address, int port)
byte[] bys = "hello,I'm coming!".getBytes();
int len = bys.length;
InetAddress add = InetAddress.getByName("zshao");
int port = 10086;
DatagramPacket dp = new DatagramPacket(bys, len, add, port);
//3.调用DatagramSocket
ds.send(dp);
//4.关闭发送端
ds.close();
}
}
3. 接收数据
UDP接收数据的步骤:
1.创建接收端的Socket对象(DatagramSocket)
2.创建一个数据包,用于接受数据
3.调用DatagramSocket对象的方法接收数据
4.解析数据包,并显示在控制台上
5.关闭接收端
4.接收数据代码
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class ReceiveDemo {
public static void main(String[] args) throws IOException {
// 1.创建接收端的Socket对象(DatagramSocket)
DatagramSocket ds = new DatagramSocket(10086);
//2.创建一个数据包,用于接受数据
byte[] bys = new byte[1024];
DatagramPacket dp = new DatagramPacket(bys,bys.length);
//3.调用DatagramSocket对象的方法接收数据
ds.receive(dp);
//4。解析数据包,并显示在控制台上
byte[] data = dp.getData();
System.out.println("接收到的数据是:"+new String(data,0,dp.getLength()));
//5.关闭接收端
ds.close();
}
}
5.代码运行展示
首先运行接收端,让其等待接受,然后运行发送端,发送数据。发送完成后,接收端显示如下: