1. DatagramPacket类
(代表一个UDP数据报),进行数据报通信的基本单位,DatagramPacket类的构造方法有两种。
DatagramPacket(byte ibuf[] int ilength) : 用来创建接收数据报的对象,其中字节数组ibuf[]用来接收数据报的数据,ilength指明所要接收的数据报的长度。
DatagramPacket(byte ibuf[], int ilength, InetAddress iaddr , int iport) :用来创建发送数据报給远程节点的对象,其中字节数组ibuf[]存放 要发送的编码后的报文, ilength指明字节数组的长度,iaddr指明所要发送的数据报的目的地(即:接收者的IP地址,iport指明数据报发送到目标主机的哪个端口)
获取数据--获取接收报中的信息
public InetAddress getAddress()
public byte[] getData()
public int getLength()
public int getOffset()
public int getPort()
设置数据--设置发送报中的信息
setAddress(InetAddress iaddr)、setPort(int iport)、setData(byte[] buf)、setData(byte[] buf, int offset, int length)、 setLength(int length)
DatagramSocket(int port ,InetAddress localAddr): 用于在多个IP地址的主机上创建数据报Socket对象,其中loaclAddr指明使用哪个IP地址。
以上三个构造函数都会抛出SocketException,程序中需要捕获处理,用来控制创建DatagramSocket类对象时可能产生的异常情况
最主要的方法--发送与接收数据报
public void receive(DatagramPacket p)
public void send(DatagramPacket p)
这两个方法都将抛出例外IOException,程序中需要捕获处理。
其他方法
public void connect(InetAddress address, int port):与指定的机器通信
public void disconnect():关闭与指定机器的连接
public void close():关闭Socket