- Type : 개인 프로젝트
- IDE : Spring Tool Suite
- JAVA : 1.8
- OS : OSX
- 소켓서버를 통해 채팅기능으로 소켓 네트워크에 대해 이해하기
- 채팅과 게임을 같이 작동할 수 있게 만들어 멀티 스레드 이해하기
- 멀티유저가 사용할 수 있게 만들어, 어디서든 간단하게 즐길 수 있는 게임 만들기.
* 2-1. 소켓 네트워크 통신
- EchoServer로서 TCP통신 채팅기능 구현.
- Thread Handler를 통해 서버에 오는 요청을 처리.
채팅기능과 간단한 스레드를 통해 여러 사람이 함께 즐길 수 있는 게임을 만들면서 문제점과 해결하는 과정을 기록하겠습니다.
- 멀티스레드에서 공유자원을 쓰기위한 Syncronized를 이해하는데 시간이 걸렸으며, 현재 [java_practice_example](https://github.com/Seolhun/java_practice_example)에 thread 예제 코드가 있씁니다.
- StringTokenizer로 문자를 나누어 보내는 과정이 복잡하였고, 눈에 직관적이지 않았습니다. 현재 객체(VO)를 보내는것에는 실패하여 더 알아보는 중입니다.
- 게임 중 중간에 나가는 인원에 대한 연결 처리에 대한 어려움이 있음.
# 4-1. 서버 내에서 숫자 맞추기 게임 구축
- 1~100까지 숫자 맞추기
- 시간제한(Time out), Menu기능을 통해 멀티 스레드 구현 예정.
* 실행 순서.
- 1. ChatServer를 실행한다.
- 2. ChatClient에 Address(127.0.0.1) - 로컬환경, 혹은 ChatServer를 실행한 Address를 입력한다.(현재 로컬로 한정시켜놓았습니다.)
- 3. 닉네임을 입력한다.
- 4. 텍스트를 입력한다.