컴퓨터 구조

온라인 게임 개론

monstro 2025. 9. 15. 15:46
728x90
반응형

1) 클라이언트와 서버

온라인 게임의 구성요소는 크게 클라이언트서버로 구분할 수 있습니다.

클라이언트는 서버에 접속한 플레이어를 의미하며, 사용자의 로컬 장치에서 실행됩니다.

반대로 서버는 네트워크 통신을 통해 접속한 플레이어에게 서비스를 제공하는 프로그램 혹은 컴퓨터를 의미합니다.

 

2) 서버의 종류 - 웹 서버

웹 서버는 클라이언트에서 요청(Request)하면 서버에서 응답(Response)하는 방식으로 동작합니다.

이때 웹 서버의 가장 큰 특징은 비연결성(Connectionless) + 무상태성(Stateless)입니다.

비연결성은 서버에서 클라이언트의 요청에 응답한 후 연결을 종료하는 성질을 의미하고,

무상태성은 클라이언트 - 서버간에 상태를 저장하지 않아 상태 정보를 일일이 실어 전송해야 함을 의미합니다.

 

3) 서버의 종류 - 실시간 서버

실시간 서버는 웹 서버와 다르게 클라이언트서버가 원한다면 실시간으로 통신하는 방식으로 동작합니다.

이런 실시간 서버의 특징은 연결 지향성(Connection-Oriented) + 상태유지(Stateful)입니다.

연결 지향성은 서로간에 데이터가 전송되기 이전에 세션과 같은 논리적인 연결이 설정되는 것을 의미합니다.

상태 유지는 클라이언트 - 서버간에 관계에서 서버클라이언트의 상태를 저장하는 것을 의미합니다.

 

 4) 온라인 게임에서 서버의 동작

온라인 게임에서 네트워크는 다음과 같이 동작합니다.

  • 1) 서버 심판 혹은 진행자로서 중요한 게임 로직을 실행
  • 2) 클라이언트 사용자의 입력을 받고, 모니터에 그래픽 요소를 렌더링
  • 3) 서버와 클라이언트는 정보를 담은 패킷을 주고 받으며 서로간의 정보를 동기화하는 작업을 진행

 

5) 온라인 게임에서의 동작 흐름

온라인 게임에서 서버 - 클라이언트간의 동작 흐름은 다음과 같이 이뤄집니다.

  • 1) 서버 : 게임을 구성하는 모든 요소에 대한 최종 권한을 지니고 최종 결정을 내림
  • 2) 클라이언트 : 플레이하는 캐릭터만 제어하고, 그외의 나머지는 서버의 요소를 체험하는 것에 불과
  • 3) 단, 서버의 응답이 느린 경우 클라이언트에서는 예측하여 작업을 우선 수행
    • 예측 결과에 대해서 옳다면 서버에서 승인 / 옳지 않은 경우 서버에서 반려하여 롤백

 

728x90
반응형

'컴퓨터 구조' 카테고리의 다른 글

네트워크 프로토콜  (0) 2025.09.30
네트워크 모델  (0) 2025.09.29
멀티쓰레드란?  (0) 2024.07.27
객체지향의 프로그래밍의 3요소 - 다형성  (0) 2024.03.30
객체지향의 프로그래밍의 3요소 - 은닉성  (0) 2024.03.30