用户数据报协议(UDP)是网络信息传输的另一种形式,基于UDP的通信和基于TCP的通信不同,UDP相对而言传递信息更快,但是不提供可靠的保证。使用UDP传递数据时,用户无法指定数据是否正确的到达,也不能保证到达时的顺序和发送的顺序一致,虽然UDP是一种不可靠的数据传输协议,但是如果需要较快的传输信息,并且可以容忍小的错误,可以考虑使用UDP。
Java中UDP通信的基本流程:
发送数据包:
(1) 使用DatagramSocket()创建一个数据包套接字,可指定(端口、地址),用于发送数据一般不带参数进行实例,它将自动绑定到本地主机上任何可用的端口。
(2) 使用DatagramPachet()创建要发送的数据包,需指定(内存空间、大小),可指定(目标地址、端口),用于发送数据必须指定接收方的地址与端口。
(3) 使用DatagramSocket类的send()方法发送数据包
接收数据包:
(1) 使用DatagramSocket()创建一个数据包套接字,可指定(端口、地址),用于接收数据必须指定端口,指定地址和端口适用于有多块网卡和多个IP地址的情况。
(2) 使用DatagramPachet()创建要接收的数据包,需指定(内存空间、大小),可指定(目标地址、端口),用于接收只需指定内存空间和大小即可。
(3) 使用Datagra