문서의 이전 판입니다!
개요
이것은 기본적으로 장기 게임 클라이언트를 위해 만들어 지고 있습니다.
-
해결과제
사용자의 장기알 움직이는 위치 검증하고 옮기기
프로토콜
아이템 | 값 | 설명 |
메시지 구분자 | | | 전송된 메시지를 구분하는 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 | |
필수 | 시간 | int | 4byte | (ms) 시간후 alert 할 시간 |
시간 동기화 테스트 요청
구분 | 필드명 | 데이터 타입 | 크기 | 비고 |
필수 | protocol id | int | 4byte | SYNC_TIME_TEST_RES |
필수 | 기준 시간 | long | 8byte | |
필수 | 시간 | 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 )