什么是数据报?

通过可靠的通道(例如 TCP 套接字)进行通信的 Client 端和服务器之间有专用的点对点通道,或者至少有一个错觉。为了进行通信,他们构建了一个连接,传输了数据,然后关闭了连接。通过通道发送的所有数据均按发送时的相同 Sequences 接收。这由通道保证。

相反,通过数据报进行通信的应用程序发送和接收完全独立的信息包。这些 Client 端和服务器没有,也不需要专用的点对点通道。不能保证将数据报传送到 Object 地。他们到达的 Sequences 也不是。

Definition:

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

java.net包包含三个类,可帮助您编写使用数据报通过网络发送和接收数据包的 Java 程序:DatagramSocketDatagramPacketMulticastSocket应用程序可以通过DatagramSocket发送和接收DatagramPacket。另外,可以将DatagramPacketBroadcast 给所有收听MulticastSocket的多个接收者。