# 课程：关于数据报

> 原文： [https://docs.oracle.com/javase/tutorial/networking/datagrams/index.html](https://docs.oracle.com/javase/tutorial/networking/datagrams/index.html)

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

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

## [什么是数据报？](definition.html)

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

## [编写数据报客户端和服务器](clientServer.html)

本节将向您介绍一个示例，其中包含两个使用数据报进行通信的 Java 程序。服务器端是一个引用服务器，它监听其`DatagramSocket`并在客户端请求时向客户端发送报价。客户端是一个简单的程序，它只是发出服务器的请求。

## [向多个收件人广播](broadcasting.html)

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

* * *

**Note:** 

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

* * *