package CHAPTER14;

import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;

public class LAB01_KeyLoggerClient extends JFrame {
    private PrintWriter out;

    public LAB01_KeyLoggerClient() {
        setTitle("원격 키 입력 클라이언트");
        setSize(300, 100);
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        // 키 입력을 받을 텍스트 필드 생성
        JTextField field = new JTextField();
        add(field);
        setVisible(true); // GUI 보이기

        try {
            // 서버("localhost")에 포트 6000으로 연결
            Socket socket = new Socket("localhost", 6000);
            out = new PrintWriter(socket.getOutputStream(), true);
        } catch (IOException e) {
            JOptionPane.showMessageDialog(this, "서버 연결 실패");
        }

        // 키보드 입력 감지 리스너 등록
        field.addKeyListener(new KeyAdapter() {
            public void keyTyped(KeyEvent e) {
                out.println(e.getKeyChar()); // 입력된 문자 서버에 전송
            }
        });
    }

    public static void main(String[] args) {
        new LAB01_KeyLoggerClient(); // 클라이언트 실행
    }
}

