UDP傳輸(一)
阿新 • • 發佈:2018-11-17
傳送方:
package network.socket; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; /* * 1. 傳送send * 建立DatagramSocket */ public class Send { public static void main(String[] args) throws Exception{ String str="everyone,大家好!"; //要傳送的資料 DatagramSocket socket=new DatagramSocket(); //建立Socket,相當於建立碼頭 DatagramPacket packet= //建立Packet,相當於建立集裝箱。引數是:要傳送資訊的位元組陣列,位元組陣列長度,目的地址,埠號 new DatagramPacket(str.getBytes(),str.getBytes().length, InetAddress.getByName("127.0.0.1"),6666); socket.send(packet); //傳送資訊 socket.close(); //底層是IO流,關閉碼頭 } }
接收方:
package network.socket; import java.net.DatagramPacket; import java.net.DatagramSocket; /* * 1. 接收receive * 建立DatagramSocket,指定埠號 * 建立DatagramPacket,指定陣列,長度 * 使用DatagramSocket接收DatagramPacket * 關閉DatagramSocket * 從DatagramPacket中獲取資料 */ public class Receive { public static void main(String[] args) throws Exception{ DatagramSocket socket=new DatagramSocket(6666); //建立碼頭,要指定埠號 DatagramPacket packet=new DatagramPacket(new byte[1024],1024); socket.receive(packet); //開始接收 byte[] arr=packet.getData(); //獲取資料 int len=packet.getLength(); //獲取有效位元組個數 System.out.println(new String(arr,0,len)); socket.close(); } }