package CHAPTER14;

import java.net.*;  // 네트워크 관련 클래스 사용

public class C14_05_UDPClient {
    public static void main(String[] args) throws Exception {
        // 클라이언트용 데이터그램 소켓 생성 (시스템이 임의의 포트 할당)
        DatagramSocket socket = new DatagramSocket();

        // 전송할 문자열 메시지 정의
        String message = "안녕하세요, UDP 서버!";

        // 문자열을 바이트 배열로 변환 (UDP는 바이트 단위로 전송)
        byte[] buffer = message.getBytes();

        // 수신 대상 서버 주소와 포트 지정
        InetAddress serverAddress = InetAddress.getByName("localhost"); // 로컬 서버

        // 전송할 패킷 객체 생성 (데이터, 길이, 서버 주소, 포트)
        DatagramPacket packet = new DatagramPacket(buffer, buffer.length, serverAddress, 3000);

        // 패킷 전송 (비연결형 방식이므로 연결 없이 전송 가능)
        socket.send(packet);
        System.out.println("UDP 패킷 전송 완료");

        // 소켓 닫기 (자원 정리)
        socket.close();
    }


}