[게임 서버] 5.6 실제 레이턴시 줄이기

게시:     수정

카테고리:

태그:

📦 5. 게임 네트워킹

👉🏻 6. 실제 레이턴시 줄이기

🎯 레이턴시 감소 방법

주요 방법:

  1. TCP 대신 UDP 사용
  2. 적은 수의 패킷으로 전송
  3. 두 가지 네트워킹 방식 혼용

📡 1. TCP 대신 UDP 사용

TCP의 문제:

  • TCP는 패킷 유실이 발생하면 재전송을 위한 지연 시간이 발생한다
    • 이러한 경우 스터터링이 발생한다

UDP의 장점:

  • UDP는 패킷 유실이 발생해도 지연 시간이 생기지 않는다

적용:

  • 캐릭터 이동 메시지에 UDP가 적합하다

📦 2. 적은 수의 패킷으로 전송

메시지 묶기:

  • 메시지를 보낼 때 뭉쳐서 보내면 효과적이다

권장 사항:

  • 이 책의 저자는 뭉치는 시간이 10ms 이하가 적당하다고 한다

🔀 3. 두 가지 네트워킹 방식 혼용

네트워킹 방식:

  1. 클라이언트와 서버 간 통신: C/S 네트워킹
  2. 클라이언트끼리 통신: P2P 네트워킹

C/S 네트워킹만 사용하는 경우:

  • C/S 네트워킹으로 많은 지역에 게임 서버를 분포시키고, 가까운 지역의 게임 서버에 매칭하도록 한다
    • 이런 경우 두 네트워킹 방식을 혼용할 필요가 없다

혼용이 효과적인 경우:

  • 서버는 멀고, 두 클라이언트는 가까운 경우 사용한다

효과적인 분배:

  • 중요한 연산은 C/S 네트워킹, 덜 중요한 연산은 P2P 네트워킹을 통해 처리하면 효과적이다

🧐 정리

방법 효과 주의사항
UDP 사용 재전송 지연 제거 중요 데이터는 TCP 필요
패킷 묶기 오버헤드 감소 10ms 이하 권장
C/S + P2P 혼용 레이턴시 최소화 보안 고려 필요

핵심:

  • UDP는 실시간성이 중요한 데이터에 적합
  • 메시지 묶기로 네트워크 효율 향상
  • 상황에 따라 C/S와 P2P를 적절히 조합

GameServer 카테고리 내 다른 글 보러가기

댓글남기기