클래스 다이어그램
서버 입장및 대기실 입장 플로우 차트
시퀸스 다이어그램
소스및 실행파일
** 실행시 주의 사항
아직 접속 종료를 구현하지 않아 클라이언만 종료 하여 접속하면 에러가 발생합니다.
다시 할려면 서버, 클라이언트 모두 종료후에 다시 접속하세요.
// 작업 디렉토리 설정. char workdir[128]; GetModuleFileName( 0, workdir, sizeof workdir ); char * pDir = ::strrchr( workdir, '\\' ); if( 0 != pDir ) *pDir = 0; ::SetCurrentDirectory( workdir );마지막으로 해당 디렉토리에 SYSTEM 권한을 주어 해결하였습니다.
#include "ace/Select_Reactor.h" #include "ace/Reactor.h" int ACE_TMAIN( int , ACE_TCHAR * [] ) { ACE_Select_Reactor * ps = new ACE_Select_Reactor; // 두번째 인자를 true로 하면 Reactor가 삭제될때 첫번째 인자로 넘긴 Reactor를 자동삭제 된다. ACE_Reactor * pr = new ACE_Reactor( ps, true ); // 두번째 인자를 true로 하면 Reactor가 삭제될때 첫번째 인자로 넘긴 Reactor를 자동삭제 된다. ACE_Reactor::instance( pr, true ); ... ... ACE_Reactor::instance()->run_reactor_event_loop(); return 0; }
[하프]초미지향 님 Mabinogi Server CheckUp 1.2 소스 참고 했습니다.
한국 본서버 기준 :
http://211.218.233.238/patch/patch.txt
파일 중에
patch_accept 값이 1 이면 게임 접속이 가능하다
patch_accept=1
테스트 서버 URL
http://211.218.233.238/patch/patch_test.txt
C/C++로 구현한다면
Socket으로 211.218.233.238 80번 포트로 연결후
"GET /patch/patch.txt HTTP/1.0\r\n\r\n" 을 보내고(send)
결과값을 받는다 (recv)