-
다른 컴퓨터에서 연결이 가능하도록 대기 상태로 상시 실행중인 프로그램
-
<영업 중인 식당>과 유사
- 손님이 올 수 있도록 식당을 열고 대기
-
Web Server
- 테이크 아웃 전문 식당
- 손님이 음식을 받아서 떠나면, 그 이후론 연락이 끊긴다.
- 질의 응답의 형태
-
Game Server(TCP server, Binary Server, Stateful Server)
- 일반 식당
- 실시간 인터렉션이 가능
-
드물게 정보를 요청/갱신
-
실시간 인터렉션이 필요하지 않는다.
-
한 번만 교류하면 끝날 때 용이
-
보통 홈페이지를 만들 때 사용
-
처음부터 만드는 경우는 거의 없고 프레임워크 하나 골라서 사용
- ASP.NET, Spring, Node JS, Django, Flask, PHP
-
단순히 요청을 받아서 처리하는 경우에 사용
- 실시간으로 요청을 주고 받는 경우에 사용(실시간 인터렉션)
- 언제라도 접근이 가능
- 요청 횟수가 WebServer보다 많음
- 웹서버와의 차이점은 실시간으로 요청이 오고 가야 한다.
-
최적의 프레임워크라는 것이 존재하기 애매함
- 게임의 장르마다 요구 사항이 다르기 때문
-
MMORPG 게임 서버 제작은, 식당 운영에 비유 가능
- 멀티 쓰레드(Concurrency) : 직원들 고용하고 운영하는 것
- 네트워크 : 직원들이 손님과 어떤 방식으로 대화를 할지
- DB : 결제 및 장비 처리를 어떤 방식으로 할지
- 게임 로직 : 손님들의 주문을 신속하고 맛있게 요리하는 것
- 서버 구조 : 위에서 정한 정책에 맞는 식당의 인테리어에 대해 고민하는 것
-
MMORPG를 만드는 데 게임 서버도 핵심이지만 웹서버도 사용함
-
인증 등은 웹서버로 만듬 -> 이후 게임 서버로 넘어옴
-
게임 서버와 웹 서버 모두 사용을 할 줄 알아야 한다.
-
웹서버를 배우면 도움이 되는 이유
- 랭킹 시스템을 만들 때 -> 게임 서버는 아니더라도 웹 서버의 기본 지식만으로 만들 수 있음