웹소켓 게임

김민재·2024년 9월 27일
0
post-custom-banner

간단한 스테이지 변경 로직

일단은 'public'으로 선언한 정적 폴더에서 json과 같은 파일들을 배치하거나 정적 폴더의 파일 내부에서 외부 파일에 접근 및 외부 파일에서 사용하는 모듈들을 불러오기 위해서는
정적 폴더 내부에 직접 파일을 새롭게 생성하거나 서버에서 클라이언트에 파일을 보내는 것으로 웹소켓, http을 통하여 통신할 수 있다고 한다.

먼저 http

먼저 app.get을 통하여 서버에서 클라이언트로 getGameAssets()라는 함수를 보낸다.
이렇게 보낸것은 각각 localhost:주소번호/해당 링크로 보내지게 되는데 그 보내진 것을 정적 폴더의 내부 파일에서 직접 받는 것이다.

파일은 json 방식으로 입력을 받아 파싱하여 js 객체를 생성하는 것이고 이렇게 받은 gameData를 통하여 정적 폴더 내부에서 직접 사용할 수 있게 되었다.

웹소켓 통신

어제 설명했다시피 우리는 handler 함수를 통하여 'response'로써 io에서 'event'형식의 이벤트가 발생했을 때 이를 받아서 어떤 핸들러 이벤트를 요청하는지 확인하고 이를 다시 클라이언트에 보내주는 helper.js에 대해서 설명한 적이 있을 것이다.

이때 여기서 보내는 파일들은 전부다 'response'라는 이름으로써 전해지게 되는데 이를 클라이언트에서 받아서 처리하는 함수가 있다.

이런식으로 소켓으로 발생한 이벤트를 받아서 currentStage를 받아서 이 역시 정적 파일 내부에서 사용하고자 했다.

스코어 계산 로직

기존의 코드에서는 무조건 현재스테이지:1000 다음스테이지:1001과 같이 정해져있었지만 이를 바꾸기 위해서 위에 통신들을 이용하여 정보들을 불러왔다.

이렇게 불러온 정보를 이용하여 현재 스테이지 값을 얻어서 다음 스테이지로 가는 로직을 처리한다.

profile
ㅇㅇ
post-custom-banner

0개의 댓글