UDP协议的特点:
1、面向无连接;
2、传输速度较快;
3、传输数据不安全,数据容易丢失;
package Day26.com.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class Receive {
public static void main(String[] args) throws IOException {
// 创建socket对象
DatagramSocket ds = new DatagramSocket(5000);
// 创建数据报包对象
byte[] bytes = new byte[1024];
DatagramPacket dp = new DatagramPacket(bytes,bytes.length);
// 接收数据
ds.receive(dp);
// 解析数据
String ip = dp.getAddress().getHostAddress();//获取数据来源
String data = new String(bytes,0,dp.getLength());//获取数据
System.out.println(ip+"...."+data);
// 释放资源
ds.close();
}
}
package Day26.com.udp;
import java.net.*;
public class Send {
public static void main(String[] args) throws Exception {
// 创建Socekt对象
DatagramSocket ds = new DatagramSocket();
// 写数据
String data = "haode";
// 创建数据包对象,将写好的数据封装到里面
DatagramPacket dp = new DatagramPacket(data.getBytes(),data.getBytes().length, InetAddress.getByName("10.172.182.228"),5000);
// 发送数据
ds.send(dp);
// 释放资源
ds.close();
}
}
切记:要先运行receive,再运行send,不然会造成数据丢失!