
다른 컴퓨터에서 연결이 가능하도록 대기 상태로 상시 실행중인 프로그램
ㄴ 예) 손님이 올 수 있도록 식당을 열고 대기 중인 상태.
ㄴ 손님이 오면 식당 메뉴/정책에 따라 서비스를 제공하는 식당과 같은 개념
ex. [테이크 아웃 포장 전문 식당]
ㄴ 손님이 음식을 받아서 떠나면 그 이후론 연락이 끊긴다.
ㄴ 질의/응답 형태
- 드물게 정보를 요청/갱신할 경우
- 실시간 Interaction이 필요 X
- 식당에서 손님한테 먼저 접근할 일이 없는 경우
- 주문 후 손님이 바로 떠나면 손님의 상태를 당분간 잊고 지내도 될 경우 (Stateless)
-> 즉, 랭킹시스템을 위해 게임의 결과물만 툭 던져주는 등 간단한 교류만 필요할 때 사용한다. (ex. Clash of Clans)
Web Server는 단순히 게임에 국한되지 않고 웹 서비스를 만드는 데 사용된다.
처음부터 만드는 경우는 거의없고 다양한 프레임워크 중에 하나를 골라서 사용한다.
우리는 C#을 사용하기 때문에 'ASP.NET'을 사용한다.
(ex. Spring (Java), NodeJS (Javascript), Django, Flask (Python), PHP ...)
ex. [일반 식당]
ㄴ 서빙 직원이 와서 손님에게 물어볼 수 있고, 손님의 추가 주문도 가능하다.
ㄴ 실시간 Interaction이 있다.
- 요청/갱신 횟수가 많을 경우
- 실시간 Interaction이 필요
- 언제라도 직원이 손님한테 접근 가능해야 할 경우
- 손님이 식당에 머무는 동안 손님의 상태를 보며 최상의 서비스를 제공해야 할 경우 (Stateful)
-> 즉, 유저 간의 교류(나와 다른 플레이어의 화면이 동일하게 움직여야 함)도 필요한 경우. (ex. 스타크래프트 등)
게임 서버는 게임/장르에 따라 요구사항이 너무 다르다. (최적의 프레임워크가 따로 없음)
