아마존 웹 서비스를 다루는 기술 33장 - 11. 게임 서버 동작 확인하기
- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
자동 확장 가능한 모바일 게임 서버 구축하기
이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30
게임 서버 동작 확인하기
이제 모든 구현과 서버 구축이 끝났습니다. 게임 서버이므로 게임 클라이언트를 구현해야 하지만 한참 개발 중일 때에는 일일이 클라이언트에서 확인하려면 매우 번거롭습니다.
구글 크롬 웹 브라우저를 사용하면 HTTP GET, POST PUT, DELETE 등 모든 메서드를 손쉽게 사용할 수 있습니다. 구글 크롬 스토어에서 DHC(Dev HTTP Client)를 설치합니다(DHC로 검색하면 나옵니다).
먼저 서버로 점수를 보내보겠습니다. DHC를 실행합니다(그림 33-16).
- SERVICE에 게임 서버의 ELB 로드 밸런서 주소와 API 경로를 입력합니다. 먼저 john의 점수를 보낼 것이므로 API 경로는 /users/john/scores가 됩니다.
- Send 버튼 왼쪽에 있는 HTTP 메서드 목록에서 POST를 선택합니다.
- 텍스트 형식의 입력 창이 표시됩니다. Send 버튼 아래에 text를 클릭하면 메뉴가 표시됩니다. 여기서 form을 클릭합니다.
그림 33-16 DHC로 점수 보내기
form 형태의 입력 창이 표시됩니다. 초록색 + 버튼을 클릭하면 항목이 추가됩니다. score와 500을 입력하고 Send 버튼을 클릭하면 점수를 서버로 보냅니다. 아래 RESPONSE 부분에 API에서 출력한 결과가 표시됩니다.
그림 33-17 DHC로 점수 보내기
동일한 방법으로 maria도 점수를 300으로 보냅니다.
이제 전체 순위 정보를 얻어보겠습니다.
- 전체 순위 정보를 얻는 API는 /leaderboard입니다.
Send 버튼을 클릭하면 아래 RESPONSE 전체 순위 정보가 출력됩니다.
그림 33-18 DHC로 전체 순위 정보 보기
동일한 방법으로 유저 정보 얻기, 유저 현재 순위 얻기, 아이템 구입하기 등을 해봅니다.
- 유저 정보 얻기: GET /users/john
- 유저 현재 순위 얻기: GET /users/john/rank
- 아이템 구입하기: POST /users/john/items, itemId 101, ItemSlot 1
DynamoDB로 가보면 ExampleGameLog 테이블에 로그 데이터가 저장되어 있습니다.
그림 33-19 DynamoDB에 로그 저장