-
서버 : 다른 컴퓨터에서 연결이 가능하도록 대기 상태로 상시 실행중인 프로그램. 혹은 그 프로그램이 실행되는 컴퓨터.
영업중인 식당에 비유하면
웹 서버(HTTP 서버) : 질의 응답 형태. 테이크아웃 전문 식당.
- 드물게 정보를 요청/갱신
- 실시간 상호작용 없음
- 식당이 손님에게 먼저 접근하지 않음
- 손님의 상태를 기억하지 않는다 (Stateless)
보통 게임 뿐만 아니라 웹 서비스를 만드는 데 사용.
ASP.NET (C#)
Spring (JAVA)
NodeJS (Javascript)
Django, Flask (Python)
PHP
다양한 프레임워크 존재
게임 서버(TCP, Binary, Stateful 서버) : 실시간 interaction이 가능한 일반 식당.
- 잦은 요청/갱신
- 실시간 상호작용
- 언제나 직원이 손님에게 접근 가능
- 손님의 상태에 따른 서비스 제공 (Stateful)
게임/장르에 따라 요구사항이 매우 달라서 프레임워크가 존재하기 어렵다.
멀티쓰레드(Concurrency) 직원을 고용하고 운영하는 것.
네트워크 직원과 손님의 대화
DB 결제 및 장부 처리
게임 로직 요리
서버 구조 식당 인테리어