UDP的发送:(单播)
1 public static void main(String[] args) throws IOException { 2 DatagramSocket socket=new DatagramSocket();//到邮局(邮局开门) 3 String s="这是码头上的货物";//需要邮寄的货 4 byte[] bytes = s.getBytes();//货物处理 5 InetAddress address = InetAddress.getByName("127.0.0.1");//邮寄的地址(这里是本机测试地址) 6 DatagramPacket packet=new DatagramPacket(bytes,bytes.length,address,1025);//打包:物,量,址,门牌号 7 socket.send(packet);//跑货 8 socket.close();//邮局关门 9 10 11 12 }
步骤:
(邮局开门)
- 货物处理
- 打包写地址
- 发货
(邮局关门)
UDP的接收:(单播)
1 public static void main(String[] args) throws IOException { 2 DatagramSocket socket=new DatagramSocket(1025);//收货邮局 3 byte[]bytes=new byte[1024];//邮局准备的收货袋子 4 DatagramPacket packet=new DatagramPacket(bytes,bytes.length);//邮局准备的收货袋子 5 socket.receive(packet);//邮局用袋子接收 6 byte[] data = packet.getData();//袋子释放数据 7 int length = packet.getLength();//袋子释放数据长度 8 System.out.println(new String(data,0,length)); 9 socket.close();//邮局关门 10 11 12 }
步骤:
- 准备袋子
- 用袋子收
- 处理袋子
需要注意的是:端口号的使用范围是0--25535,但是0--1023通常被系统占用,所以端口号我们使用的话从1024开始