类:关于数据报的全部
您编写用于通过网络通信的某些应用程序将不需要 TCP 提供的可靠的点对点通道。相反,您的应用程序可能会受益于一种通信 Pattern,该通信 Pattern 可以提供独立的信息包,这些信息包的到达和到达 Sequences 无法得到保证。
UDP 协议提供了一种网络通信 Pattern,应用程序通过该 Pattern 彼此之间发送称为数据报的数据包。数据报是通过网络发送的独立的自包含消息,其到达时间,到达时间和内容无法得到保证。 java.net
包中的DatagramPacket
和DatagramSocket
类使用 UDP 实现与系统无关的数据报通信。
什么是数据报?
数据报是通过网络发送的独立的自包含消息,其到达时间,到达时间和内容无法得到保证。
编写数据报 Client 端和服务器
本节将引导您完成一个示例,其中包含两个使用数据报进行通信的 Java 程序。服务器端是报价服务器,它侦听其DatagramSocket
并在 Client 端请求时将报价发送给 Client 端。Client 端是一个简单的程序,仅向服务器发出请求。
Broadcast 给多个收件人
本节修改了报价服务器,以便报价服务器不向请求的单个 Client 端发送报价,而是每分钟将报价 Broadcast 给正在监听的 Client 端。必须相应地修改 Client 端程序。
Note:
许多防火墙和 Router 都配置为不允许 UDP 数据包。如果无法连接到防火墙外部的服务,或者 Client 端无法连接到服务,请询问系统 管理 员是否允许 UDP。