UDP 協議簡單編程

  1. 最近溫故一下工做沒有使用過的一些知識點,下面就是練習中使用的代碼,提供給你們分享java

  2. 客戶端服務器


  3. // 客戶端
    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);// 輸出內容
    	}
    }
  4. 服務器端spa


  5. // 服務端
    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();
    	}
    }
  6. 總結code

    1.UDP中主要使用的是數據報協議發送的。對象

    2.UDP是屬於不可靠協議,服務器端發送的消息,客戶端不必定能收的到。get

    3.UDP主要使用DatagramPacket和DatagramSocket兩個類。io

    4.DatagramPacket主要用於封裝消息。class

    5.DatagramSocket用於發送和接受消息。服務器端

    7.注意
總結

    運行的時候,須要先運行客戶端,而後再運行服務器端。

相關文章
相關標籤/搜索