120 likes | 257 Views
Contact Information. Ttokka™ Webpage (http://ttokka.sw4u.net) 팀장 : 권오현 ( dikafryo@korea.com ) ( 기획 , Server Engine part) 팀원 : 전영균 ( junyoungkyun@yahoo.co.kr ) ( 기술 Part, 컨트롤 부분, 오목게임 제작). Contents. 프로젝트 목표 서버 흐름도 프로그램 진행 상황 본 Project 의 향후 이용측면. 프로젝트 목표.
E N D
Contact Information Ttokka™ Webpage (http://ttokka.sw4u.net) • 팀장 : 권오현 (dikafryo@korea.com) (기획, Server Engine part) • 팀원 : 전영균 (junyoungkyun@yahoo.co.kr)(기술 Part, 컨트롤 부분, 오목게임 제작)
Contents • 프로젝트 목표 • 서버 흐름도 • 프로그램 진행 상황 • 본 Project의 향후 이용측면
프로젝트 목표 • 동서대학교 인터넷공학부 게임 포털 서비스 구축 • 클라이언트의 프로그램의 모듈화로 일반 컴공인 학생들이 쉽게 네트웍 게임을 개발할수 있다. • 라이브러리가 완전 독립적으로 수행이 가능하며, 클라이언트에서 원하는대로 작동 가능하다.
또까Team Server 흐름도 2. Work • Work버퍼에서 Data 가져오기 • 목적에 맞게 처리 (필요에 따라 DB버퍼로..) • 처리된 Data를 Send 버퍼로..
Project 진행 상황(서버) 1. 아이디와 비번을 통한 로그인 2. 대기실과 룸 분리로 각각 처리 3. 클라이언트에 고유의 번호를 부여 (클라이언트 관리가 쉽다) 4. 접속자, 대기실 사용자, 룸 개수 표시
클라이언트 관리(전체) Client_List 에 등록 현재 위치 “–1” 서버에 접속시 로그인 전 현재 위치 “0” 로그인 후 RoomList[방번호]에 등록 현재 위치 : 방번호 룸에 들어갈때 RoomList[방번호]에서 제거 현재 위치 : “0” 룸에서 나올때 Client_List에서 현재 위치 파악 위치가 0보다 클 경우, RoomList[방번호]에서 제거 Client_List에서 제거 접속을 끊을때
클라이언트 관리(게임 시작) • 룸에 제일 처음 들어온 사용자가방장(Client #1) Server 게임 시작을 요청 Client #1 게임 시작을 요청 Client 1, 2 모두 게임요청했나? Client #2 No 게임 시작 Yes
클라이언트 관리(게임 종료) Client #1 승자 메시지 Server 패자 메시지 Client #2 승자 패자가 정확한가? No Client #1이 승자이며 다음 시작을 요청할때는 Client #2에게 게임 시작 메시지를 보낸다 Yes 무효 처리 진 사용자가 자동으로 먼저하게 된다
소켓 통신방식 G A M E S E R V E R C L I E N T 시작 시작 연결 대기 소켓 생성 서버소켓 생성 No 연결 요구 연결시도 Yes 소켓생성 No 연결 설정 로그인 Yes 데이터 송수신 데이터 송수신 DATA No No 연결 해제 연결 해제 Yes Yes 소켓 종료 소켓 종료
또까 Library 구조(Client) MainApplication 개발자가 프로그래밍 해야할 부분 Message Map 함수 호출 Message를 보냄 또까 Library 에서 제공해 주는 부분 Client Library (확장 DLL) 로그인 모듈 가입하기 모듈 아이디, 비번 찾기 모듈 대기실 모듈
Client 프로그래밍 따라하기 #1 • MFC 프로젝트에서 Dialog 기반으로 한다. • C프로젝트이름Dlg.h 파일에 Client_module.h 파일을 include 한다. • 인스턴스를 선언한다.Ex) CClient m_client; • Message Map 함수를 글로벌로 만든다.이 함수에 의해서 앞으로 게임이 실행 될 것이다.ExcuteCommand(CStringArray& array);
Client 프로그래밍 따라하기 #2 • Message Map 함수를 모듈에 등록한다.Ex) m_Client.InitProcess(ExcuteCommand); • 서버에 접속한다.Ex) m_Client.Start(“서버주소”, 포트번호); • 로그인 창이 뜨면 성공한 것이고, 방 만들기를 하게 되면, C프로젝트Dlg 의 다이얼로그 박스가 뜨게 될 것이다. • 이후 상세한 과정은 본 프로그램의 도움말을 참조