* PART 1 . n:m 채팅구현 및 Thread 사용법 공부 1. IP알고 직접 연결 2. TCP로 구현 ============== <Sever> SeverSocket ss = new ServerSocket(int port); Socket cs = ss.accept(); <Client> Socket cs = new Socket(String ip, int port); << I/O >> BufferedReader br = new BufferedReader( new InputStreamReader(cs.getInputStream()) ); br.readLine(); PrintWriter pw = new PrintWriter(cs.getOutputStream(), true); pw.println("~~~~"); <<<< Thread 사용법 >>>> 1. class ServerThread extends Thread { @Override public void run(){ } public void start() { } } 2. Thread t = new Thread(new Runnable(){ @Override public void run(){ } public void start() { } }); ( 2번을 튜토리얼에서는 선호함(interface라서 다중상속이 가능하기 때문에) ) * PART 2 . 패키지 분류(디자인 패턴) 및 기타 구현 실제로 구현하면서 패키지를 조금 더 세밀하게 분류해야 될 필요성을 느낌. 그리고 그 분류의 패턴으로 MVC모델 채택을 제안. Server - model - view - controller - etc Client - model (DB에서 정보를 가져오는 소스 등..) - view (GUI) - controller (가져온 정보를 view에 붙인다거나, 아니면 view의 버튼에 액션을 준다던가..) - etc (기타) Sever와 Client 둘다 MVC 형태로 패키지를 나누기로 제안함. 프로그램상에서 쓰이는 String들은 String_ko 라는 interface에 몰아서 정의하는게 나중에 유지보수하기 편할꺼같음 또한, 나중에 옵션을 구현해야 하므로 Option 이라는 class를 만들어서 설정할 수 있게 따로 빼자. 타이머와 같은 경우에는, 서버를 기준으로 하고 클라쪽에는 뻥카로 하나 만들자. 역할 분담 ============= 유재범, 김동환 - 게임 룰, 게임 진행 구현 오영은, 이승현 - GUI 구현