UDP 协议与之前讲到的 TCP 协议不同,是面向无连接的,双方不需要建立连接便可通 信。UDP 通信所发送的数据需要进行封包操作(使用 DatagramPacket 类),然后才能接 收或发送(使用 DatagramSocket 类)。 <br /><br />**DatagramPacket:数据容器(封包)的作用 :**<br />此类表示数据报包。 数据报包用来实现将发送的数据进行封包处理的。
常用方法:
- DatagramPacket(byte[] buf, int length) :构造数据报包,用来指定长度为 length 的数据包。
 - DatagramPacket(byte[] buf, int length, InetAddress address, int port) :构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。
 - getAddress() :获取发送或接收方计算机的 IP 地址,此数据报将要发往该机器或 者是从该机器接收到的。 getData() :获取发送或接收的数据。
 - setData(byte[] buf) :设置发送的数据。
 
DatagramSocket:用于发送或接收数据报包 :
 当客户端要向服务端发送数据时,需要在客户端产生一个 DatagramSocket 对象,在 服务端产生一个 DatagramSocket 对象。客户端的 DatagramSocket 将 DatagramPacket 发送到网络上,然后被服务端的 DatagramSocket 接收。
常用方法:
- DatagramSocket(int port) :创建数据报套接字并将其绑定到本地主机上的指定 端口。
 - send(DatagramPacket p) :从此套接字发送数据报包。
 - receive(DatagramPacket p) :从此套接字接收数据报包。
 - close() :关闭此数据报套接字。
 
UDP 通信编程基本步骤 :
- 创建服务器端的 DatagramSocket,创建时,定义服务器端的监听端口。
 - 创建客户端的 DatagramSocket,创建时,定义客户端的监听端口。
 - 在服务器端定义 DatagramPacket 对象,封装待接收的数据包。
 - 客户端将数据报包发送出去。
 - 服务器端接收数据报包。
 
