package CHAPTER14;

import java.io.*;       // 입출력 관련 클래스
import java.net.*;      // 네트워크 관련 클래스

public class MyClient {
    public static void main(String[] args) throws IOException {
        // 서버 주소와 포트 번호 설정
        String serverAddress = "localhost";  // 로컬호스트(자기 자신)
        int port = 6000;                     // 서버와 일치하는 포트 번호

        // 서버에 연결 시도
        Socket socket = new Socket(serverAddress, port);
        System.out.println("서버에 연결됨: " + serverAddress + ":" + port);

        // 서버로 메시지를 보내기 위한 출력 스트림 생성
        PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

        // 서버로부터 메시지를 받기 위한 입력 스트림 생성
        BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

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

        // 메시지 전송
        out.println(message);
        System.out.println("[클라이언트 → 서버] 전송 메시지: " + message);

        // 서버로부터의 응답 수신
        String response = in.readLine();
        System.out.println("[서버 → 클라이언트] 수신 메시지: " + response);

        // 연결 종료
        socket.close();
        System.out.println("클라이언트 종료됨.");
    }
}


