網絡編程—UDP完成數據的發送

UDP完成數據的發送

/*

* 發送端

 */

publicclass UDPSend {

    publicstaticvoid main(String[ ] args) throwsIOException {

       //1,創建DatagramSocket對象

        DatagramSocket sendSocket = newDatagramSocket();

        //2,創建DatagramPacket對象,並封裝數據

        //構造數據報包,用來將長度爲 length 的包發送到指定主機上的指定端口號。

        byte[ ] buffer = "hello,UDP".getBytes();

        DatagramPacket dp = newDatagramPacket(buffer, buffer.length, InetAddress.getByName("192.168.75.58"),8888);

        //3,發送數據

        sendSocket.send(dp);

        //4,釋放流資源

        sendSocket.close();

    }

}

UDP完成數據的接收

/*

 * UDP接收端

 */

publicclass UDPReceive {

    publicstaticvoid main(String[ ] args) throws IOException {

        //1,創建DatagramSocket對象,並指定端口號

        DatagramSocket receiveSocket = new DatagramSocket(8888);

        //2,創建DatagramPacket對象, 創建一個空的倉庫

        byte[ ] buffer = newbyte[1024];

        DatagramPacket dp = new DatagramPacket(buffer,1024);

        //3,接收數據存儲到DatagramPacket對象中

        receiveSocket.receive(dp);

        //4,獲取DatagramPacket對象的內容

        //誰發來的數據  getAddress()

        InetAddress ipAddress = dp.getAddress();

        String ip = ipAddress.getHostAddress();//獲取到了IP地址

        byte[ ] data = dp.getData();

        //發來了多少數據 getLenth()

        int length = dp.getLength();

        //顯示收到的數據

        String dataStr = new String(data,0,length);

        System.out.println("IP地址:"+ip+ "數據是"+ dataStr);

        //5,釋放流資源

        receiveSocket.close();

    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章