UDP 是User Datagram Protocol的简称,一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

发送端分析:

1.创建发送端Socket对象

2.创建数据并打包

3.发送数据

 

接收端分析:

1.创建接收端Socket对象

2.接收数据

3.解析数据

4.将接收到的数据打印到控制台

 

发送端代码:

 

public class UDPSendTest {
  public static void main(String[] args) throws Exception {
    //创建发送端Socket对象
    DatagramSocket ds = new DatagramSocket();
    //创建数据并打包
    String s = "My name is happywindman";
    byte[] bytes = s.getBytes();
    int length = s.length();
    InetAddress ip = InetAddress.getByName("192.168.3.100");//根据自己主机的ip地址或者主机名
    int port = 10086;
    DatagramPacket dp = new DatagramPacket(bytes,length,ip,port);
    //发送数据
    ds.send(dp);
    //释放资源
    ds.close();
  }
}

 

 

接收端代码:

public class UDPReceiveTest {
  public static void main(String[] args) throws Exception {
    //创建接收端Socket对象
    DatagramSocket ds = new DatagramSocket(10086);
    //接收数据
    byte[] bytes = new byte[1024];
    int length = bytes.length;
    DatagramPacket dp = new DatagramPacket(bytes, length);
    ds.receive(dp);
    //解析数据
    InetAddress address = dp.getAddress();
    byte[] data = dp.getData();
    int len = dp.getLength();
    //输出数据
    System.out.println(address);
    System.out.println(new String(data,0,len));
  }
}

 

 

先运行接收端代码,然后再运行发送端代码就可以看到发送的数据被打印到控制台了