클라이언트는 무엇일까?
위키피디아에서는 클라이언트를 다음과 같이 정의하고 있다.
좀 더 쉽게 말하면, 서버의 서비스를 받아 사용하는 장치나 프로그램을 말한다. 사용자의 키보드, 마우스, 터치 조작에 반응하여 사용자의 눈에 보이는 요소를 만들어내는 것이라 할 수 있겠다. 특히 지금 이 글을 읽을 수 있게 해주는 웹 브라우저는 웹 서버로 접속하여 화면 출력을 위한 웹 페이지를 수신하는 대표적인 클라이언트다.
서버는 네트워크를 통해 클라이언트에게 서비스를 제공하는 시스템이다. 우리가 클라이언트를 통해 요청을 보내면, 서버는 이를 해결하기 위해 자신에게 저장된 데이터를 확인한다. 그리고 데이터가 없다면 없다는 결과를, 있다면 해당 데이터를 클라이언트에게 보낸다.
즉, 쉽게 말하면 네트워크로 연결된 컴퓨터 중 서비스를 제공하는 쪽이 서버, 해당 서비스를 요청하는 쪽이 클라이언트다.
웹 서버와 웹 어플리케이션 서버(WAS)에도 차이가 있듯이, 웹 어플리케이션 서버와 게임 서버 간에도 차이가 있다.
먼저 간단하게 웹 서버와 WAS의 차이점을 살펴보자.
- 웹 서버
- 클라이언트로부터 HTTP/HTTPS 요청을 받아 HTML, CSS, JS 같은 정적인 콘텐츠를 제공
- 클라이언트의 요청을 처리하여 웹 페이지를 반환
- 동적인 요청이 들어왔을 때, 자체적으로 처리하기 어렵기 때문에 WAS에게 요청 - WAS
- 동일하게 HTTP/HTTPS 기반으로 동작(웹 서버가 할 수 있는 기능 대부분 WAS도 가능하다)
- 클라이언트의 요청에 딸다 DB와 연동해 데이터를 처리하거나, 프로그램 로직을 실행한 후 결과를 웹 서버에 전달한다.
- 사용자의 요청에 따라 다양한 프로세스를 실행한다.
그렇다면 게임 서버는 어떨까?
게임 서버는 인터넷 상에서 여러 플레이어가 같이 게임을 할 수 있게 하기 위한 프로그램이나 해당 프로그램을 기동중인 컴퓨터를 뜻한다.
게임 서버는 실시간 통신이 가장 중요하다. 따라서 게임 상태를 지속적으로 업데이트하고, 여러 플레이어의 입력을 받아 실시간으로 게임 환경을 조성하는 것이 주된 기능이기도 하다. 그렇다보니 낮은 지연 시간과 높은 성능을 유지하는 게 매우 중요한데, 게임 환경에서의 안정성, 성능, 동기화가 게임 서버의 핵심이다.
즉, 요약하자면 게임 서버는 실시간으로 다수의 플레이어가 참여하는 상호작용을 관리하는 셈이다.
'부트캠프' 카테고리의 다른 글
24/09/02 - OSI 7계층: 물리 계층(Physical Layer) (0) | 2024.09.02 |
---|---|
24/08/28 - OSI 7계층 (0) | 2024.08.28 |
24/07/18 웹개발 5주차 (0) | 2024.07.18 |
[WIL] 사전캠프 4주차 (0) | 2024.07.12 |
24/07/12 콘솔 사용하기 (0) | 2024.07.12 |