개발/개발관련

[개발관련] 간단한 UDP 테스트 (java, nc)

mabb 2024. 4. 10. 13:44
반응형

java 로 간단히 udp server 를 만들고 테스트 해보았다.

 

    public static void main(String[] args) {
        try {
        String udpPort = "55551";
        byte[] receiveData = new byte[1024];
        String receiveMessage = "";
        DatagramSocket udpSocket = new DatagramSocket(Integer.parseInt(udpPort));
        DatagramPacket receivePacket;

            while(true){
                receivePacket = new DatagramPacket(receiveData, receiveData.length);
                udpSocket.receive(receivePacket);
                byte[] receiveByteArr = receivePacket.getData();
                receiveMessage = new String(receiveByteArr, 0, receiveByteArr.length );

                if(!receiveMessage.equals("")){
                    System.out.println("receiveMessage = " + receiveMessage);;
                }else{
                    //no data
                }
            }
        } catch (SocketException e) {
            throw new RuntimeException(e);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

 

 

 

 

nc -u localhost 55551 < txt파일

 

udp_test.txt


aaaaaaaaaaaaaaaaaa

bbbbbbbbbb

ccccccccc

dddddddd

eeeeee

fffff

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

!111

~        

 

 

intelliJ console, 이전 데이터가 플러시가 안됐다.

 

이전 데이터가 남아있어 아래와 같이 수정하였다.

receiveMessage = new String(receiveByteArr, 0, receivePacket.getLength() );
반응형