Android之UDP编程

来源:互联网 发布:知乎live分享 编辑:程序博客网 时间:2024/06/08 15:00

一、概念

UDP是User Datagram Protocol的缩写,java提供了DatagramSocket对象作为基于UDP协议的Socket,使用DatagramPacket代表DatagramSocket发送、接收的数据报。

二、使用DatagramSocket发送、接收数据

1、DatagramSocket构造器

  • DatagramSocket():创建一个DatagramSocket实例。
  • DatagramSocket(int port):创建一个DatagramSocket实例,并指定端口。
  • DatagramSocket(int port, InetAddress laddr):创建一个DatagramSocket实例,并将对象绑定到指定ip地址和端口。

2、DatagramPacket构造器

  • DatagramPacket(byte[] buf, int length):以一个空数组来创建DatagramPacket对象,该对象的作用是接收DatagramSocket中的数据。
  • DatagramPacket(byte[] buf, int length, InetAddress addr, int port):以一个包含数据的数组来创建DatagramPacket对象,创建对象时指定了IP地址和端口–这就决定了该数据报的目的地。
  • DatagramPacket(byte[] buf, int offset,int length):以一个空数组来创建DatagramPacket对象,并指定接收到的数据放入到buf数组中从offset开始,最多放length个字节。
  • DatagramPacket(byte[] buf, int offset,int length,InetAddress addr, int port):创建一个用于发送的DatagramPacket对象,指定发送buf从offset开始,总共length个字节。

3、发送接收数据

receive(DatagramPacket p):从该DatagramSocket接收数据报。
send(DatagramPacket p):以该DatagramSocket对象向外发送数据报。