UDP通信
UDP:非面向连接类型的通信。特性是:不必和连接对象建立管道,只需知道要发送到的地址,即可发送。
使用流程:
发送方:1、建立发送和接收所需的Socket对象(DatagramSocket),传入要使用的本地地址和端口。
2、创建字符数组,储存要发送的数据内容。
3、创建数据包对象(DatagramPacket),内部为:接收方地址+发送数据的字符数组byte[];
4、调用Socket对象的发送数据包的方法,发送创建的数据包。(socket.send(dataPacket);)
接收方:1、建立发送和接收所需的Socket对象(DatagramSocket),传入要使用的本地地址和端口。
2、创建缓冲字符数组,储存读到的数据包中的字符数据。
3、创建数据包对象(DatagramPacket),内部为:缓冲字符数组byte[];
4、调用Socket对象的接收数据包的方法,接收的包放在新建的数据包对象里。(socket.recive(dataPacket);)
5、获得收到的数据包里的数据。(dataPacket.getData()返回一个字符数组)。
较好的使用方式:
建立一个数据类,属性为:数据包中要包含的所有信息。 方法为: 1、把收到数据包的整个byte[]解析成数据类对象。2、把数据类对象包装成byte[],准备生成包发送。
在数据包,和要发送的数据之间,建立一个数据类的连接,或者说转换机制,以一个类来管理是最好的。