최대 1 분 소요

직렬화와 역직렬화

범용적으로 데이터를 사용하는 데에는 json을 이용한 방식도 존재하지만 좀 더 데이터 효율화를 위한 방법으로 직렬화를 사용한다.
대칭키 방식과 비슷하게 데이터를 버퍼에 저장한 다음 보내는 방식을 의미한다.
javascript에선 proto 파일로 어떤 식으로 해석해야 하는지를 알려주면 그걸로 암호화, 복호화 할 수 있다.

syntax = "proto3";

package response;

// 공통 응답 메시지 구조
message Response {
  uint32 handlerId = 1;      // 핸들러 ID
  uint32 responseCode = 2;   // 응답 코드 (성공: 0, 실패: 에러 코드)
  int64 timestamp = 3;       // 메시지 생성 타임스탬프 (Unix 타임스탬프)
  bytes data = 4;            // 실제 응답 데이터 (선택적 필드)
}

레이턴시

클라이언트와 서버 간의 데이터 동기화 과정에서 발생하는 딜레이
딜레이가 길어지거나 하는 식으로 유저의 위치 정보가 부정확해질 가능성이 있기에 해당 상황을 보정하는 방법으로 추측 항법이 존재한다.

추측 항법

비동기 게임인 보드게임류(체스, 바둑 등)은 상관 없으나 온라인 게임 중 동기화가 중요한 게임, 특히 레이싱 게임이나 격투 게임 같은 경우는 딜레이가 게임 내 평가와 이어질 수 있으므로 그런 상황을 방지하여야 한다.
딜레이가 발생한 만큼 그걸 보정한다.