ݺߣ

ݺߣShare a Scribd company logo
PC방 프로그램 구조도
로그인화면
메인화면
개발 환경
MVC 패턴
M
V
C
클라이언트
프레임
메인 프레임
50개의 좌석패널
좌석
회원
재고
카운터 현재유저
계산 메세지
채팅창
채팅창
V컨트롤러
호스트서버
DB쿼리
디비쿼리
M V C
핵심 : 다중채팅 알고리즘
Accept() 메소드 실행
계속 생긴 socket들은
HashMap에 저장시킨다.
호스트
서버의
모든 것
VC
상황설명
경우의 수는 컴퓨터On/Off, 로그인On/Off
컴퓨터 접속상태는 이정도.
가장 기본적인 알고리즘은
다중채팅알고리즘
프로그램 시나리오
V컨트롤
(MF,
MAP,
SEAT)
서버
유저
메인F
(PAN)
하나의
좌석F
*50
좌석
모델
M
VC
여기서 문제점!
브이컨트롤러의 주소 동기화
1. 생성할때마다 생성자로 주소 전달
2. 싱글톤패턴사용
브이컨트롤러의 핵심.
가장 힘들었던 트러블슈팅!
V컨트롤
메인F
(PAN)
하나의
좌석F
*50
Q
New객체는 싱글톤 메소드 아무거나 접근가능
New객체 안에서 생긴 싱글톤값가지는 객체들은 싱글톤의 스태틱만 접근이 가능했다.
가장 힘들었던 트러블슈팅!
Error! 밵Ӄ!
트러블 슈팅!
Q
• 서버 작업은 가능하면 쓰레드로 주자!
• 단일 프레임(매니지먼트)작업시에는 화면이
잘 나왔는데..
• 같은 main소스를 호출함에도 로그인패널
에서 실행하면 매니지먼트 프레임이 실행
이 제대로 안됐음. 이유를 알고보니..싱글
톤문제가 아니라..서버while문제..ㅠ.ㅠ.
트러블 슈팅!
• GUI와 쓰레드, 네트워크, 파일전송등등에
대한 대략적인 감각~
• 추상적 클래스의 유지보수
• 자바 패턴 조금 맛만..
배운점
매니지
매니지
프로토
매니지
HUD

More Related Content

Pc방 프로젝트 보고서 - 자바 프로그래밍