1. 程式人生 > >UDP傳輸(一)

UDP傳輸(一)

傳送方: 

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();
    }
}