UDP基本手順

9982 ワード

じゅしんたんし
package udp;


import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;


/**
 * @author  
 * @FileName javaproject
 * @Date 2019/12/2 10:13
 *    
 *              
 * 1.  DatagramSocket          
 * 2.       DatagramPacket  
 * 3.       receive(DatagramSocket p)
 * 4.    
 * byte[] getData()
 *          getLength()
 *5.    
 */
public class UdpServer {

    public static void main(String[] args) throws IOException {

        System.out.println("      ...");
        //  DataGramSocket           
        DatagramSocket server =  new DatagramSocket(9999);
        //2.       DatagramPacket  
        byte[] container = new byte[1024*60];
        DatagramPacket packet = new DatagramPacket(container,0,container.length);
        //3.       receive(DatagramSocket p)
        server.receive(packet);
        //4.    
        byte[] datas =packet.getData();
        int len =packet.getLength();
        System.out.println(new String(datas,0,len));
        //5.    
        server.close();
    }
}


送信側
package udp;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException;

/**
 * @author  
 * @FileName javaproject
 * @Date 2019/12/2 10:14
 *    
 * 1.  DataGramSocket          
 * 2.    ,         .
 * 3.   DataGramPacket  ,         ip+port
 * 4.    send(DataGramPacket p)
 *5.    
 */
public class UdpClient {

    public static void main(String[] args) throws IOException {

        System.out.println("      ...");
        //1.  DataGramSocket          
        DatagramSocket client = new DatagramSocket(8888);
        //2.    ,         .
        String data ="2019.12.2";
        byte[] datas=data.getBytes();
        //3.   DataGramPacket  ,         ip+port
        DatagramPacket packet = new DatagramPacket(datas,0,datas.length,
                new InetSocketAddress("localhost",9999));
        //4.    send(DataGramPacket p)
        client.send(packet);
        //5.    
        client.close();
    }
}