CVS 구조 ¶
~cpp ProjectZephyrusServer | +---- bin : 실행 파일들의 저장고, 현재 빌드에서는 저장하지 않는다 | +---- document : 코딩중 기록되는 여타 문서들의 보관 | ex) DB query문, Packet정의 문 +---- lib : 컴파일에 필요한 라이브러리의 보관소 | +---- src : 소스의 보관소 package별 분류 | +---- command : 명령과 관련한 패키지 | +---- information : DB와 같은 사용자 정보 관리 패키지 | +---- network : 네트웍 관련 패키지 | +---- test : Test 관련 패키지 최상위 폴더의 화일 설명 .classpath : Eclipse 용 Java의 환경 설정 .project : Eclipse용 project 세팅 파일 .cvsignore : Eclipse에서 cvs에서 synch시에 무시할 파일 java_win.bat : Windows용 RunServer 실행 batch파일 javac_win.bat : Windows용 프로젝트 컴파일 batch파일 java_zp : ZeroPage Server 실행 bash script (zp에서만 돈다. bin이 classpath에 안들어가서 꽁수로 처리,port번호를 변경할수 없다.) javac_zp : ZeroPage Server용 컴파일 bash script (어느 서버에서나 동작 할꺼 같다.) ProjectZephyrusServer.jcp : JCreator용 project파일 ProjectZephyrusServer.jcw : JCreator용 workspace 파일
Eclipse, JCreator 에서 FAQ ¶
Server UML ¶
꿀단지 ¶
- CVS가 귀찮으면 이걸로 실험해 보라 --상민
- 현재 ZeroPage와 Windows 2k상에 한글 인코딩 문제로 후자로 해야 ZeroPage서버에서 한글로 안내 메세지가 나옴. 컴파일시 해결할수 있지만 귀찮아서 --;; --상민
"end"로 종료, VM 1.3에서 돌아감, 기본 port 22000, 단일 접속만 허용 | ||
실행 | 자료 | Platform |
java -jar ~cpp PZServerForWin.jar Port번호(Default 22000) | jar | Windows |
java -jar ~cpp PZServerForZeroPage.jar Port번호(Default 22000) | jar | ZeroPage용 |
일 ¶
- 모든 객체 정의 완성 상태. Rename과 코딩중에 필요한 부가적인 정보를 알아 내야 한다.
- Client 팀처럼 측정을 하면서 한것이 아니라. 경험상으로의 진행률 만의 기록할수 있을것 같다. --상민
할일 | |||
내용 | 관련클래스 | 담당 | 진행율 |
로그인 | |||
로그인 객체의 생성, ~cpp InfoManager 에게 자료 요청 | ~cpp LoginCmd | 류상민 | 90% |
로그인 객체에 정보 기록 | ~cpp InfoManager | 이상규 | 90% |
로그 아웃 | |||
로그 아웃시 해당 소켓의 접속 종료 | ~cpp LogOutCmd,SockManager | 류상민 | 90% |
로그 아웃시 ~cpp LogoutCmd 에 정보 기록 | ~cpp InfoManager | 이상규 | 90% |
1:1 메세지 보내고 받기 | |||
클라이언트에서 온 메세지를 echo시키는 작업 | ~cpp MessageCmd | 류상민 | 90% |
친구 추가 | |||
친구 등록시에 주고 받을 메세지의 처리 | ~cpp InsertBuddyCmd | 류상민 | 90% |
친구 등록시 DB에서 처리해야 될 상황 | ~cpp InfoManager | 이상규 | 90% |
친구 삭제 | |||
친구 삭제시에 주고 받을 메세지의 처리 | ~cpp DeleteBuddyCmd | 류상민 | 90% |
친구 삭제시에 DB에서 처리해야 될 부분 | ~cpp InfoManager | 이상규 | 90% |
서버 정보 기능(Spec 미정의, 구현 강제성 없음) | |||
서버에 현재 로그인 중인 리스트 보기 ID List보이기 | ~cpp SocketManager, InfoManager | . | . |
서버에 접속된 총인원(미 로그인 인원 모두) IP, ID List 보이기 | . | . | . |
서버를 강제로 종료 | ~cpp InfoManager, SocketManager, ~cpp UserSocket, PZServerSocket | 류상민, 이상규 | 90% |
원하는 사용자 강제 종료 | ~cpp SocketManager, InfoManager | . | . |
기타 기능 | |||
단일 User만 접근 가능하게 만듬 | ~cpp CommandManager,LoginCmd, ~cpp LogoutCmd | 류상민 | 80% |
package간 Information Hiding | |||
서버의 구동시 자료구조 생성(DB Table생성) | |||
~cpp PZUser, PZBuddyList Table생성 | ~cpp InfoManager | 이상규 | ? |
~cpp PZUser, PZBuddyList Table삭제 | ~cpp InfoManager | 이상규 | ? |
Dummy Data 생성 | ~cpp InfoManager | 이상규 | ? |
많은 접속후, 혹은 명령 처리중에 DB Connection이 죽는 경우 | ||
~cpp DB ConnectionManager에서 connection을 받은후에 close했기 때문 | ~cpp InfoManager | 이상규 |