오늘의 목표
더보기
✔️ 최종 프로젝트 진행
⏱️ 오늘의 일정
최종 프로젝트 진행
📜 최종 프로젝트 진행 ( 채팅 서버 구현 시작 )
프로젝트가 게임 종료 처리만 구현하면 기본적인 게임 진행이 완성되어서,
채팅서버 구현을 맡게 되었다.
채팅서버는 기존에 배워놨었던 c++에서 구현한 서버를 기반으로 해서 구현하려고 한다.
update() {
const now = performance.now();
const elapsed = now - this.lastExecutionTime;
if (elapsed >= this.updateTime) {
// 로직 처리
this.lastExecutionTime = now - (elapsed % this.updateTime);
}
const delay = this.updateTime - (now - this.lastExecutionTime);
setTimeout(() => this.update(), delay);
}
메인 서버와는 다르게 채팅서버는 update() 함수가 있다.
update() 함수는 60 프레임을 기준으로 루프를 돌면서 로직을 처리한다.
메인 서버에서는 핸들러에서 로직을 처리해줬지만,
export class Job {
public jobType: number;
public payload: Buffer;
constructor(jobType: number, payload: Buffer) {
this.jobType = jobType;
this.payload = payload;
}
}
채팅 서버에서는 핸들러에서 job을 생성하고, 생성한 job을 채팅 서버에게 전달하면,
채팅 서버에서 로직을 처리하는 방식으로 구현할 예정이다.
클라에서 온 패킷을 빠르게 빠르게 조립해서 큐잉만 하고, 채팅 서버에서 직접 처리하는 방식
'내일배움캠프' 카테고리의 다른 글
| [내일배움캠프][TIL] 서버 전용 더미 클라 제작 (0) | 2024.12.09 |
|---|---|
| [내일배움캠프][TIL] 최종 프로젝트 ( 채팅 서버 완성 ) (1) | 2024.12.04 |
| [내일배움캠프][TIL] 최종프로젝트 진행 ( 상점 기능 ) (0) | 2024.11.25 |
| [내일배움캠프][TIL] 최종 프로젝트 진행 ( 몬스터 사망 보상 ) (0) | 2024.11.21 |
| [내일배움캠프][TIL] 최종프로젝트 진행 ( 기본틀 완성 ) (0) | 2024.11.20 |