ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • UDP 기본 데이터 송/수신
    JAVA/Network - UDP 2020. 10. 16. 13:39

    소켓을 통해 데이터를 받는다.
    바쁜지 안바쁜지 간에 패킷을 보내고 받는다.

    단순 데이터 전송이다.

     

    UDPSend.java

    소스 코드

    더보기
    import java.io.*;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;
    
    public class UDPSend {
    	public static void main(String[] args) throws IOException 
    	{
    		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    		
    		DatagramSocket ds = new DatagramSocket();
    		
    		System.out.print("보낼 데이터 : ");
    		
    		String msg = in.readLine();
    		
    		//	IP주소의 마지막에는 0과 1은 쓰지 않는다.
    		for (int i = 2; i < 254; i++)
    		{
    			InetAddress ia = InetAddress.getByName("192.168.0." + i);
    			
    			//	마지막은 포트  번호
    			DatagramPacket dp = new DatagramPacket(
    					msg.getBytes(),
    					msg.getBytes().length,
    					ia,6999);
    			
    			//	ds를 통해서 패킷을 보낸다.
    			ds.send(dp);
    		}
    		System.out.println("데이터 전송 종료");
    	}
    }
    

    위에서 IP주소에서 앞의 세 자리는 네트워크의 주소를 의미한다.

     

     

     

    UDPReceive.java

    소스 코드

    더보기
    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    
    
    public class UDPReceive {
    	public static void main(String[] args) throws IOException
    	{
    		byte[] buf = new byte[100];
    		
    		DatagramSocket ds = new DatagramSocket(6999);	//	포트 번호
    		
    		DatagramPacket dp = new DatagramPacket(buf, buf.length);
    		
    		//	가지온 데이터를 출력한다.
    		while (true)
    		{
    			ds.receive(dp);		//	소켓에서 패킷을 받는다.
    			
    			byte bmsg[] = dp.getData();
    			
    			String msg = new String(bmsg,0,dp.getLength());
    			
    			System.out.println(dp.getAddress() + " : " +msg);
    		}
    	}
    }

     

    실행을 할 때, UDPReceive.java를 먼저 호출하고 나서, UDPSend.java를 호출한다.

    아래의 실행결과는 Send이다.

    아래의 실행결과는 Receive이다.

     

    'JAVA > Network - UDP' 카테고리의 다른 글

    UDP 수신쪽에 명령어 보내기  (0) 2020.10.17
    UDP 파일 송/수신  (0) 2020.10.17

    댓글

Designed by Tistory.