1、UDP通信协议
UDP(用户数据报协议),无连接通信协议
这是一种不可靠的网络协议,通常用于音频、视频的传输。
其是在通信两端各建立一个Socket对象,这两个Socket对象只负责接收和发送数据。
01、UDP发送数据的步骤
- 创建发送端的Socket对象(DatagramSocket)
- 创建数据,并把数据打包
- 调用DatagramSocket对象的方法发送数据
- 关闭发送端
public class NetTest {
public static void main(String[] args) throws IOException {
//创建发送端的Socket对象(DatagramSocket)
DatagramSocket ds =new DatagramSocket();
//创建数据,并把数据打包
byte[] bys = "这是一串数据".getBytes();
DatagramPacket dp = new DatagramPacket(bys,bys.length,InetAddress.getByName("192.168.1.2"),8080);
//调用DatagramSocket对象的方法发送数据
ds.send(dp);
//关闭数据发送端
ds.close();
}
}
02、UDP接收数据的步骤
- 创建接收端的Socket对象(DatagramSocket)
- 创建一个数据包,用于接收数据
- 调用DatagramSocket对象的方法接收数据
- 解析数据包并显示
- 关闭接收端
public class ReceiveNetTest {
public static void main(String[] args) throws IOException {
//创建接收对象
DatagramSocket ds =new DatagramSocket(8080);
//创捷数据包,接收数据
byte[] bys = new byte[1024];
DatagramPacket dp = new DatagramPacket(bys,bys.length);
//调用DatagramSocket对象的方法接收数据
ds.receive(dp);
//解析数据包并显示
// byte[] data = dp.getData();
//得到实际数据长度
// int len = dp.getLength();
// String s = new String(data,0,len);
// System.out.println("接收到的数据是:"+s);
System.out.println("接收到的数据是:"+new String(dp.getData(),0,dp.getLength()));
//关闭接收端
ds.close();
}
}
03、接收和发送数据互通结果显示