UDP : User Datagram Protocol 用户数据协议
无连接的传输层协议
面向事物 是一种简单不可靠的信息传送服务
网络中多用于处理数据包
UDP不提供数据包分组,组装,不能对数据包进行排序
当报文发送之后,无法得知其是否安全完整到达
UDP协议的主要作用是将网络数据流量压缩成数据包的形式,一个典型的数据包就是一个二进制数据包的传输单位,每一个
数据包的前8个字节就是用来包含报头信息的,剩下的字节则是用来包含具体的传输数据,所以其通信开销小
UDP的缺点:不可靠,不稳定
因为没有可靠的机制,所以在数据传世时由于网络质量不好等问题,容易丢包
UDP优点:传输速度快,比较TCP来说相对安全一些,由于其没有TCP的三次握手,确认,窗口,重传,拥塞控制等机制,被利用的漏洞会少,但也无法避免被攻击(常见的漏洞是UDP Flood),是一个无状态的传送协议,所以传递数据非常快,
一般用于:例如QQ语音 QQ视频
其只要编程有两个类
1、DatagramPacket
表示数据包,用来实现无连接包投递服务,每条报文仅根据该包中包含的信息,从一台机器发送数据到另一台机器的,发送的多个包可能选择不同的路,也可能按不同的顺序到达,不对包的投递做出保证,分为接收端和发送端
2、DatagramSocket
用来发送和接收数据包的套接字(一种通信机制,可以实现多个客户连接到一个服务器,明确的将客户和服务器区分),是包投递服务的发送或接收点,每个在数据报包套接字上发送或接收的包都是单独编址和路由的,从一台机器到另一台机器的多个可能不同路径,顺序
总是启用UDP广播发送,为了接收广播包。将DatagramSocket绑定到通配符地址