# 数据报 / datagrams

通过网络进行通信的某些应用程序不需要 TCP 提供的可靠的点对点通道。相反,您的应用程序可能会受益于一种通信模式, 该模式提供独立的信息包,其到达和到达顺序无法保证。

UDP 协议提供了一种网络通信模式,由此应用程序将数据包(称为数据报)彼此发送。 数据报是独立的,通过网络发送的自包含消息,其到达时间和内容不能得到保证。 java.net 包中的 DatagramPacket 和 DatagramSocket 类使用 UDP 实现与系统无关的数据报通信。

  • 什么是数据报?

    数据报是独立的,通过网络发送的自包含消息,其到达时间和内容不能得到保证。

  • 编写数据报客户端和服务器

    本节将向您介绍一个示例,其中包含两个使用数据报进行通信的 Java 程序。 服务端是一个报价服务,客户端是一个简单的请求程序,只要连接服务端,服务端就推送一次报价信息

  • 广播给多个收件人

    此部分修改报价服务器,以便报价服务器不会在请求时向单个客户端发送报价, 而是每分钟向正在收听的客户端广播报价。必须相应地修改客户端程序。

注意

许多防火墙和路由器配置为不允许 UDP 数据包。如果连接到防火墙外的服务时遇到问题, 或者客户端无法连接到您的服务,请询问系统管理员是否允许 UDP。