什么是 UDP 协议
- UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!
- UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。
- 在 OSI 模型中的第四层——传输层,处于 IP 协议的上一层。UDP 有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP 用来支持那些需要在计算机之间传输数据的网络应用。
UDP 编程案例
//客户端1
public static void main(String[] args) throws IOException {
DatagramSocket socket = new DatagramSocket(9999);
byte[] b = "客户端1:你好!".getBytes();
DatagramPacket packet = new DatagramPacket(b,b.length, InetAddress.getByName("127.0.0.1"),8888);
socket.send(packet);
b = new byte[1024];
DatagramPacket packet1 = new DatagramPacket(b, b.length);
socket.receive(packet1);
System.out.println(new String(packet1.getData(),0,packet1.getLength()));
}
//客户端2
public static void main(String[] args) throws IOException {
DatagramSocket socket = new DatagramSocket(8888);
byte[] b = new byte[1024];
DatagramPacket packet = new DatagramPacket(b, b.length);
socket.receive(packet);
System.out.println(new String(packet.getData(),0,packet.getLength()));
b = "客户端2:你好鸭!".getBytes();
DatagramPacket packet1 = new DatagramPacket(b, b.length, InetAddress.getByName("127.0.0.1"), 9999);
socket.send(packet1);
}
网友评论