最近溫故一下工做沒有使用過的一些知識點,下面就是練習中使用的代碼,提供給你們分享java
客戶端服務器
// 客戶端 public class UDPClient { public static void main(String[] args) throws IOException { DatagramSocket ds = null;// 定義接受數據的對象 byte[] data = new byte[1024]; // 開闢空間,接受數據 DatagramPacket dp = null; // 聲明DatagramPacket對象 // 服務器端和客戶端的要一致 ds = new DatagramSocket(9000); // 端口號 dp = new DatagramPacket(data, 1024); // 全部信息使用data保存 ds.receive(dp); // 接受數據 // dp的內容信息 String str = new String(dp.getData(), 0, dp.getLength()) + " from " + dp.getAddress().getLocalHost() + ":" + dp.getPort(); System.out.println(str);// 輸出內容 } }
服務器端spa
// 服務端 public class UDPServer { public static void main(String[] args) throws IOException { DatagramSocket ds = null; DatagramPacket dp = null; ds = new DatagramSocket(3000); String str = "hello World!"; // 構造數據報包,用來將長度爲 length 的包發送到指定主機上的指定端口號。 dp = new DatagramPacket(str.getBytes(), str.length(), InetAddress.getByName("localhost"), 9000); System.out.println("發送信息"); ds.send(dp); // 服務端發送消息 ds.close(); } }
總結code
1.UDP中主要使用的是數據報協議發送的。對象
2.UDP是屬於不可靠協議,服務器端發送的消息,客戶端不必定能收的到。get
3.UDP主要使用DatagramPacket和DatagramSocket兩個類。io
4.DatagramPacket主要用於封裝消息。class
5.DatagramSocket用於發送和接受消息。服務器端
7.注意
總結
運行的時候,須要先運行客戶端,而後再運行服務器端。