UDP 提供了一种不同于TCP的端到端服务,UDP 协议实际只实现两个功能:
(1),在IP协议的基础上添加了另一层地址。
(2),对数据在传输过程产生过程中进行错误校验,并抛弃已经损坏的数据。
UDP与TCP的不同点:
(1), UDP 套接字在使用前不需要进行连接。
(2),UDP 套接字与TCP套接字对信息边界的处理方式不同,UDP 套接字将保留边界信息。
(3),UDP 协议所提供的端到端的传输服务是尽力而为的,即UDP 套接字将尽可能的传送信息,但并不保证信息一定能成功到达目的
地址,而且信息到达的顺序与其发送顺序不一定一致。
1. DatagramPacket
与TCP协议发送和接受字节流不同,UDP终端交换的是一种称为数据报文的自包含信息。
发送信息时,首先要有一个DatagramPacket的实例,然后将这个实例作为参数传递给DatagramSocket
类的send()方法。
2. UDP客户端
UDP 客户端首先向被动等待联系的服务器端发送一个数据报文。
(1),创建一个DatagramSocket实例,可以选择对本地地址和端口号进行设置。
(2),使用DatagramSocket类的send()和receive()方法来接收和发送DatagramPacket实例,进行通信。
(3),通信完成后,使用DatagramSocket类的close()方法来销毁该套接字。
与Socket类不同,使用DatagramSocket实例在创建时并不需要指定目的地址,其实这也是TCP协议和UDP协议的最大不同点之一。
在进行数据交换前,TCP套接字必须与特定的主机和另一个端口号上的TCP套接字建立连接,之后在连接关闭前,该套接字就只能与相连
的套接字通信。UDP套接字