내용으로 건너뛰기
LinDol's 실험실
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
•
welcome
joeun
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== 개요 ====== - 이것은 기본적으로 장기 게임 클라이언트를 위해 만들어 지고 있습니다. - 개발시 테스트 클라이언트를 사용합니다. [[JoEunTestClient]] 를 참고하세요. ===== 해결과제 ===== - 사용자의 장기알 움직이는 위치 검증하고 옮기기 ====== 프로토콜 ====== ^ 아이템 ^ 값 ^ 설명 ^ | 메시지 구분자 | **|** | 전송된 메시지를 구분하는 delimeter 문자입니다. | ^ 상태코드 ^ 설명 ^ 전송자 ^ Defines NAME (편의를 위해)^ | 0001 | 접속 환영 메시지 | SERVER | WELCOME_MSG | | 0010 | 인증 요청 | CLIENT | AUTH_CONFIRM | | 0011 | 인증 결과 | SERVER | AUTH_CONFIRM_ALT | | 0012 | 인증 성공 | | AUTH_SUCCESS | | 0013 | 인증 실패 | | AUTH_FAIL | | 0014 | 요청 작업 성공 | | SUCCESS | | 0015 | 요청 작업 실패 | | FAIL | | 0016 | 방 인원이 꽉참 | | FULL_ROOM_IN_CLIENT | | 0017 | 방 ID 오류 | | INVALID_ROOM_ID | | 0018 | 방 비밀번호 오류 | | INVALID_ROOM_PWD | | 19 | 존재 | | EXIST | | 20 | 존재하지않음 | | EXIST_NONE | | 1000 | 방 생성 요청 | CLIENT | CREATE_ROOM_REQ | | 1001 | 방 생성 요청 응답 | SERVER | CREATE_ROOM_RES | | 1010 | 일반 방 | | ROOM_STANDARD | | 1011 | 비밀 방 | | ROOM_SECERT | | 1012 | 방 생성 성공 | | ROOM_CREATE_SUCCESS | | 1013 | 방 생성 실패 | | ROOM_CREATE_FAIL | | 1014 | 방 퇴장 요청 | CLIENT | EXIT_ROOM_REQ | | 1015 | 방 퇴장 응답 | SERVER | EXIT_ROOM_RES | | 1016 | 방 참여 요청 | CLIENT | JOIN_ROOM_REQ | | 1017 | 방 참여 응답 | SERVER | JOIN_ROOM_RES | | 1018 | 방 참여 알림 | SERVER | JOIN_ROOM_BRC | | 1019 | 방 퇴장 알림 | SERVER | EXIT_ROOM_BRC | | 1200 | 로비 정보 요청 | CLIENT | LOBBY_INFO_REQ | | 1201 | 로비 정보 응답 | SERVER | LOBBY_INFO_RES | | 1202 | 로비 대기 사용자 리스트 요청 | CLIENT | LOBBY_WAITING_USER_LIST_REQ | | 1203 | 로비 대기 사용자 리스트 응답 | SERVER | LOBBY_WAITING_USER_LIST_RES | | _ | | | | | 1300 | 메시지 전송(BRC) | SERVER | SERVER_MSG_BRC | | 1302 | 메시지 전송 요청(지정) | CLIENT | NOTE_MSG_SEND_REQ | | 1303 | 메시지 전송 응답(지정) | SERVER | NOTE_MSG_SEND_RES | | 1304 | 메시지 전송 요청(방) | CLIENT | ROOM_IN_MSG_BRC_REQ | | 1305 | 메시지 전송 (방) | SERVER | ROOM_IN_MSG_BRC | | 1306 | 채팅 메시지 전송 요청 (방) | CLIENT | ROOM_CHAT_MSG_REQ | | 1307 | 채팅 메시지 도착 (방) | SERVER | ROOM_CHAT_MSG_BRC | | 1308 | 채팅 메시지 전송 요청 (로비) | CLIENT | LOBBY_CHAT_MSG_REQ | | 1309 | 채팅 메시지 도착 (로비) | SERVER | LOBBY_CHAT_MSG_BRC | | _ | | | | | 1401 | 클라이언트 정보 요청 | CLIENT | CLIENT_INFO_REQ | | 1402 | 클라이언트 정보 응답 | SERVER | CLIENT_INFO_RES | | 1403 | 내 클라이언트 정보 요청 ( 인증후 획득 정보 ) | CLIENT | MY_CONN_CLIENT_INFO_REQ | | 1404 | 내 클라이언트 정보 응답 ( 인증후 획등 정보 ) | SERVER | MY_CONN_CLIENT_INFO_RES | | _ | | | | | 1501 | 게임 시작 요청 | CLIENT | GAME_START_REQ | | 1502 | 게임 시작 | SERVER | GAME_START_BRC | | 1503 | 게임 시작 요청 응답 | SERVER | GAME_START_RES | | 1504 | 게임 종료 알림 | SERVER | GAME_END_BRC | | _ | | | | | 2001 | 장기알 이동 요청 | CLIENT | MOVE_UNIT_REQ | | 2002 | 장기알 이동 요청 응답 | SERVER | MOVE_UNIT_RES | | 2003 | 장기알 이동 알림 | SERVER | MOVE_UNIT_BRC | | 2004 | 제한시간 초과 알림 | SERVER | OVER_ATTACK_TIME_BRC | | 2005 | 공격 자 알림 | SERVER | ATTACKER_PARTY_BRC | | _ | | | | | 7001 | 시간 동기화 요청 | CLIENT | SYNC_TIME_REQ | | 7002 | 시간 동기화 응답 | SERVER | SYNC_TIME_RES | | 7003 | 시간 동기화 테스트 요청 | CLIENT | SYNC_TIME_TEST_REQ | | 7004 | 시간 동기화 테스트 응답 | SERVER | SYNC_TIME_TEST_RES | | 7100 | 대전 시작 동기화 알림 | SERVER | SYNC_GAME_INF | | 7101 | 대전 시작 동기화 준비 완료 | CLIENT | SYNC_GAME_INF_RDY | | 7102 | 공격 포진 선택 | CLIENT | SYNC_ATTACK_POSITION | | 7104 | 진영 정보 알림 | SERVER | SYNC_CLIENT_PARTY_INF | | 7105 | 장기알 배치 정보 통보 | SERVER | SYNC_JANGGIAL_POSITION_INF | | 7106 | 동기화 끝 | SERVER | SYNC_END | | _ | | | | | 8000 | 상마,상마 | | POSITION_SMSM | | 8001 | 마상,마상 | | POSITION_MSMS | | 8002 | 상마,마상 | | POSITION_SMMS | | 8003 | 마상,상마 | | POSITION_MSSM | | 8004 | 한나라 진영 | | POSITION_HAN | | 8005 | 초나라 진영 | | POSITION_CHO | | 9000 | 서버 Garbage Collection 기동 | CLIENT | SERVER_EXECUTE_GC | ==== 접속 환영 메시지 ==== ^ 구분 ^ 필드명 ^ 비고 ^ | 필수 | protocol id | | | 필수 | 메시지 | 환영 메시지 | ==== 인증 요청 ==== ^ 구분 ^ 필드명 ^ 비고 ^ | 필수 | protocol id | | | 필수 | 로그인 이름 | 인증 요청할 로그인 이름 | | 필수 | 열쇠 글 | 인증 열쇠글 | ==== 인증 요청 결과 ==== ^ 구분 ^ 필드명 ^ 비고 ^ | 필수 | protocol id | AUTH_CONFIRM_ALT | | 필수 | 처리 결과 | AUTH_SUCCESS ( 0012 ), AUTH_FAIL ( 0013 ) | | 필수 | key | 인증 성공후 부여받은 클라이언트 키 | ==== 방 생성 요청 ==== ^ 구분 ^ 필드명 ^ 비고 ^ | 필수 | protocol id | CREATE_ROOM_REQ | | 필수 | 방 이름 | | | 필수 | 인원 | | | 필수 | 방종류 | ROOM_STANDARD, ROOM_SECERT | ==== 방 생성 응답 ==== ^ 구분 ^ 필드명 ^ 비고 ^ | 필수 | protocol id | CREATE_ROOM_RES | | 필수 | 처리 결과 | SUCCESS, FAIL | ==== 방 퇴장 요청 ==== ^ 구분 ^ 필드명 ^ 비고 ^ | 필수 | protocol id | EXIT_ROOM_REQ | ==== 방 퇴장 요청 응답 ==== ^ 구분 ^ 필드명 ^ 비고 ^ | 필수 | protocol id | EXIT_ROOM_RES | ==== 방 참여 요청 ==== ^ 구분 ^ 필드명 ^ 비고 ^ | 필수 | protocol id | JOIN_ROOM_REQ | | 필수 | 방 번호 | 참여 방 번호 | ==== 방 참여 요청 응답 ==== ^ 구분 ^ 필드명 ^ 데이타 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | JOIN_ROOM_RES | | 필수 | 처리 결과 | int | 4byte | SUCCESS, FAIL | | 옵션 | 에러 코드 | int | 4byte | FULL_ROOM_IN_CLIENT, INVALID_ROOM_ID, INVALID_ROOM_PWD | | 옵션1 | 클라이언트 수 | int | 4byte | 방안의 클라이언트 수 | | 옵션2 | 키 | int | 4byte | 클라이언트 키 | | 옵션1 | 아이디 | String | n byte | 클라이언트 아이디 | ** 옵션2 부분은 처리결과 코드가 SUCCESS 일경우 옵션 2의 값에 따라 반복됨 ** ==== 방 참여 알림 ( SERVER ) ==== ^ 구분 ^ 필드명 ^ 비고 ^ | 필수 | protocol id | JOIN_ROOM_BRC | | 필수 | 키 | 클라이언트 KEY | | 필수 | 아이디 | 표시 아이디 | ==== 방 퇴장 알림 ==== ^ 구분 ^ 필드명 ^ 비고 ^ | 필수 | protocol id | EXIT_ROOM_BRC | | 필수 | 키 | 클라이언트 KEY | | 필수 | 아이디 | 표시 아이디 | ==== 로비 정보 요청 ==== ^ 구분 ^ 필드명 ^ 비고 ^ | 필수 | protocol id | LOBBY_INFO_REQ | | 필수 | 페이지 | | ==== 로비 정보 응답 ==== ^ 구분 ^ 필드명 ^ 데이타 티입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4 byte | LOBBY_INFO_RES | | 필수 | 유저수 | int | 4 byte | 전체 유저 수 | | 필수 | 대기자 | int | 4 byte | 대기중인 유저 수 | | 필수 | 개설 룸 수 | int | 4 byte | 개설되어 져 있는 룸 수 | | 옵션 | 방 번호 | int | 4 byte | 개설 방 번호 | | 옵션 | 방 제목 | String | n byte | 방제목 | | 옵션 | 닉네임 | String | n byte | 방 개설자 닉네임 | | 옵션 | 참여 인원 | int | 4 byte | 현재 참여 인원 수 | | 옵션 | 최대 참여 인원 | int | 4 byte | 최대 참여 가능한 인원 수 | | 옵션 | 방 종류 | int | 4 byte | ROOM_STANDARD, ROOM_SECERT | ==== 로비 대기 사용자 리스트 요청 ( CLIENT ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4 byte | LOBBY_WAITING_USER_LIST_REQ | ==== 로비 대기 사용자 리스트 응답 ( SERVER ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4 byte | LOBBY_WAITING_USER_LIST_RES | | 필수 | 대기자 | int | 4 byte | 대기중인 유저 수 | | 옵션 (반복) | 키 | int | 4 byte | 클라이언트 키 | | 옵션 (반복) | 아이디 | String | n byte | 사용자 아이디 | | 옵션 (반복) | 닉네임 | String | n byte | 사용자 닉네임 | ==== 메시지 전송 요청 (방) deprecated ==== //방안의 유저들에게 메시지를 전송함.// ( 방에 들어가 있지 않을경우 무시 되도록 처리 필요 ) ^ 구분 ^ 필드명 ^ 비고 ^ | 필수 | protocol id | ROOM_IN_MSG_BRC_REQ | | 필수 | 메시지 | 방안의 클라이언트 들에게 brodecas 할 메시지 | ==== 메시지 전송 (방) deprecated ==== ^ 구분 ^ 필드명 ^ 비고 ^ | 필수 | protocol id | ROOM_IN_MSG_BRC | | 필수 | 키 | brodecast 메시지를 전송한 클라이언트 키 | | 옵션 | 메시지 | 메시지 | ==== 채팅 메시지 전송 요청 ( 방 ) ==== //요청자를 제외한 방안의 클라이언트 들에게 전송함// ( 방에 들어가 있지 않을경우 무시 되도록 처리 필요 ) ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | ROOM_CHAT_MSG_REQ | | 필수 | 전송 메시지 | String | n byte | | ==== 채팅 메시지 도착 ( 방 ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4 byte | ROOM_CHAT_MSG_BRC | | 필수 | 전송자 식별키 | int | 4byte | | | 필수 | 별칭 | String | n byte | | | 필수 | 메시지 | String | n byte | | ==== 채팅 메시지 전송 요청 ( 로비, CLIENT ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4 byte | LOBBY_CHAT_MSG_REQ | | 필수 | 전송 메시지 | String | n byte | | ==== 채팅 메시지 도착 ( 로비, SERVER ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4 byte | LOBBY_CHAT_MSG_BRC | | 필수 | 전송자 식별키 | int | 4 byte | | | 필수 | 별칭 | String | n byte | | | 필수 | 메시지 | String | n byte | | ==== 클라이언트 정보 요청 ( CLIENT ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | CLIENT_INFO_REQ | | 필수 | key | int | 4byte | 조회할 클라이언트 키 | ==== 클라이언트 정보 응답 ( SERVER ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | CLIENT_INFO_RES | | 필수 | 처리결과 | int | 4byte | SUCCESS, FAIL | | 옵션 | key | int | 4byte | 클라이언트 키 (인증성공시 부여 받는 키 ) | | 옵션 | id | String | n byte | 인증되어 있는 id | | 옵션 | 닉네임 | String | n byte | 닉네임 | | 필수 | 승리회수 | int | 4byte | 대전 승리 회수 | | 필수 | 패배 회수 | int | 4byte | 대전 패배 회수 | | 필수 | 이미지 여부 | int | 4byte | 이미지 존재 여부 EXIST, EXIST_NONE | | 필수 | 이미지 주소 | String | n byte | 이미지저장 위치 (http) | ==== 내 클라이언트 정보 요청 ( CLIENT ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | MY_CONN_CLIENT_INFO_REQ | ==== 내 클라이언트 정보 응답 ( SERVER ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocold id | int | 4byte | MY_CONN_CLIENT_INFO_RES | | 필수 | 처리 결과 | int | 4byte | SUCCESS, FAIL | | 필수 | 아이디 | String | n byte | 아이디 | | 필수 | 닉네임 | String | n byte | 닉네임 | ==== 게임 시작 요청 ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | GAME_START_REQ | ==== 게임 시작 요청 응답 ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | GAME_START_RES | | 필수 | 결과 | int | 4byte | SUCCESS, FAIL | ==== 게임 시작 ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | GAME_START_BRC | | 필수 | 기준시간 | long | 8byte | (ms) time | | 필수 | delay 시간 | int | 4byte | ~초(ms) 후 실행 | ==== 게임 종료 알림 ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | GAME_END_BRC | | 필수 | 승자의 진영 | int | 4byte | POSITION_HAN , POSITION_CHO | | 필수 | 키 | int | 4byte | 승자의 키 | | 필수 | 이름 | String | n byte | 승자의 이름(닉네임) | ==== 장기알 이동 요청 ( CLIENT ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | MOVE_UNIT_REQ | | 필수 | 현위치 x | int | 4byte | 현재 위치 x | | 필수 | 현위치 y | int | 4byte | 현재 위치 y | | 필수 | 이동 위치 x | int | 4byte | 이동할 위치 x | | 필수 | 이동 위치 y | int | 4byte | 이동할 위치 y | ==== 장기알 이동 요청 응답 ( SERVER ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | MOVE_UNIT_RES | | 필수 | 요청 응답 | int | 4byte | SUCCESS, FAIL | ==== 장기알 이동 알림의 ( SERVER ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | MOVE_UNIT_BRC | | 필수 | 현 위치 x | int | 4byte | 현재 위치 x | | 필수 | 현 위치 y | int | 4byte | 현재 위치 y | | 필수 | 이동 위치 x | int | 4byte | 이동할 위치 x | | 필수 | 이동 위치 y | int | 4byte | 이동할 위치 y | ==== 시간 동기화 요청 ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | SYNC_TIME_REQ | ==== 시간 동기화 응답 ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | SYNC_TIME_RES | | 필수 | 서버시간 | long | 8byte | long time | ==== 시간 동기화 테스트 요청 ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | SYNC_TIME_TEST_REQ | | 필수 | 기준 시간 | long | 8byte | 지연시간의 기준이 되는 시간(ms) | 필수 | 시간 | int | 4byte | (ms) 시간후 alert 할 시간 | ==== 시간 동기화 테스트 요청 ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | SYNC_TIME_TEST_RES | | 필수 | 기준 시간 | long | 8byte | 지연시간의 기준이 되는 시간(ms) | 필수 | 시간 | int | 4byte | (ms) 시간후 alert 할 시간 | ==== 대전 시작 동기화 알림 ( SERVER ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | SYNC_GAME_INF | ==== 대전 시작 동기화 준비 완료 알림 ( CLIENT ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | SYNC_GAME_INF_RDY | | 필수 | sync time | long | 8byte | 준비 완료 시점 시간(동기화된 시간) | ==== 공격 포진 선택 (CLIENT) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | SYNC_ATTACK_POSITION | | 필수 | 진영 정보 | int | 4byte | POSITION_SMSM, POSITION_MSMS, POSITION_SMMS, POSITION_MSSM | ==== 진영 정보 알림 (SERVER) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | SYNC_CLIENT_PARTY_INF | | 필수 | 진영 | int | 4byte | POSITION_HAN, POSITION_CHO | ==== 장기알 배치 정보 통보 (SERVER) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | SYNC_JANGGIAL_POSITION_INF | | 필수 | 한(漢)진영 | int | 4byte | POSITION_SMSM, POSITION_MSMS, POSITION_SMMS, POSITION_MSSM | | 필수 | 초(楚)진영 | int | 4byte | POSITION_SMSM, POSITION_MSMS, POSITION_SMMS, POSITION_MSSM | ==== 동기화 끝 (SERVER) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | SYNC_END | ==== 서버 Garbage Collection 기동 ( Client ) ==== ^ 구분 ^ 필드명 ^ 데이터 타입 ^ 크기 ^ 비고 ^ | 필수 | protocol id | int | 4byte | SERVER_EXECUTE_GC | ====== 동기화 ====== ==== 게임 시작시 ==== - 대전 시작 동기화 알림 ( Server ) - 대전 시작 동기화 준비 완료 알림 ( Client ) - 포진 선택 ( Client ) - 진영 통보 ( Server ) - 장기알 배치 정보 통보 ( Server ) - 동기화 끝, 게임시작 ( Server ) ==== 시간 동기화 ==== - 시간 동기화 요청 ( Client ) - 시간 전송 ( Server ) - 지연 시간 계산후 자체 time 적용 ( Client )
joeun.txt
· 마지막으로 수정됨: 2013/12/11 00:46 저자
127.0.0.1
문서 도구
문서 보기
이전 판
역링크
맨 위로