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開始