본문 바로가기
내일배움 강의/강의-게임서버

5. 서버 로직 개발

by GREEN나무 2024. 12. 12.
728x90

01. 데이터 테이블 로드

개임 데이터 테이블을  서버 메모리에 로드하는 작업

 

🟦 fs (파일 시스템)

Node.js의 fs (파일 시스템) 모듈은 모든 파일 시스템에 접근 가능하고, 파일을 읽고 쓰는 기능을 제공합니다. 
동기적 및 비동기적 방식 모두로 파일 I/O 작업을 수행할 수 있습니다.
파일 생성, 읽기, 쓰기, 삭제, 수정 등의 작업을 할 수 있습니다.
다양한 형태의 파일 기반 작업을 가능하게 합니다.(다른 확장자에 대한 파일 생성도 가능)

 

🟦 데이터 테이블의 관리 방법

DB, CDN, file 등으로 테이블을 관리합니다.
이 프로젝트에서는 file로 테이블을 관리하게 됩니다.

 

 

DB 로 테이블을 관리하는 방법  

- DB에 저장. 파일들을 데이터화 해서 관리.

- 기획팀이 에서 관리를 해서 어떠한 파일이 생성되면 -> 이 파일들을 길획팀이 DB에 업로드를합니다. -> 서버에서 해당 요청을 처리하기 위해 DB에 접근해 파일을 읽어오게 되고 그 다음에 유저에 대한 메시지를 처리하게 됩니다. 

- 클라이언트는 여전히 파일을 가지고 있습니다. 이파일을 가지고 빌드를 합니다.

 

CDN 로 테이블을 관리하는 방법  

-그냥 파일을 CDN(클라우드 저장소 같음)에 업로드 시켜놓은 것입니다.

- 버전 업데이트 수월

-클라이언트는 CDN에 요청(버전정보 포함)을 보내 접근합니다.(로딩화면 만드는 이유) -> 버저닝을 관리하는 파일이(CDN 밖에 존재하나?) 바뀌었음 을 감지합니다. -> CDN에서 맞는 버전의 데이터를 가져갑니다.  ( 서버도 마찬가지)

- 서버도 클라이언트도 CDN에서 게임 에셋을 읽습니다.

 

 file로 테이블을 관리하는 방법

- 클라이언트도 서버도 같은 버전의 파일을 보유, 클라이언트가 req마다 버전이름도 같이 보내서 동일한 버전인지 확인함

 

서버에서 필요한 데이터와 클라이언트에서 필요한 데이터가 다릅니다. 그러기에 위의 테이블 관리방법을 복합적으로 사용하여 데이터 테이블을 관리니다.

 


02. 유저 접속 관리

유저가 실제로 서버에 접속할 때 유저를 받아들이기 위한 준비를 하는 과정

 


03. 커넥션 핸들러

Websocket과 TCP에서는 데이터 통신을 위해 커넥션을 맺어야 합니다.

그 커넥션을 관리하고 핸들링할 것인지에 대한 작업입니다.


04. 이벤트 핸들러

데이터 교환, 메시지 교환하는 모든 이벤트를 어떻게 핸들링 할것인가에 대한 설명, 로직 제작


05. 변경된 패킷구조 정리

이벤트들에서 메시지를 교환할 때 패킷 구조에 조금 씩 변경점이 생긴 부분에 관한 섫

 


 

학습

 

🔷🔹🟦💠◇◆◈♢  ❄️🛋🐬💧🐟💎🐳💦👕🐋🧵🧢 🥶🧊🥏

🔵🛄📘🛃👖🛅🛂🌊🈂️🈳💙💤🧿🌀🚹🚾♿

 🚫❌ ❓❔? 

🔗🔨⚒️⛏🔧🔩🗜🛠🧰🧲⚙️⛓🪓🦯🪚🪛🪝🪜

📕📖📚 📘📒🔖

❄️❇❅❄❆❉❊⛄

⛥⛧✫✡✬ 🔮✪


 


 



 


숙제

 


※ 요약

 

※ 기억할 것

 

※Tip

'내일배움 강의 > 강의-게임서버' 카테고리의 다른 글

4. 개발 환경 세팅  (2) 2024.12.11
3. 게임 기획해보기  (2) 2024.12.11
2. HTTP, TCP, 웹소켓  (2) 2024.12.11
1. 게임 개발의 시작  (1) 2024.12.10