1. 서버
(1) 정의
다른 컴퓨터에서 연결이 가능하도록 대기 상태(Idle)로 상시 실행중인 프로그램.
(2) 서버의 종류
(2-1) 웹 서버 - HTTP Server
- 클라이언트가 요청하면 응답하는 구조.
- 서버가 클라이언트에 먼저 접근하지 않음.
- 실시간 상호작용할 필요 없음.
- 응답 이후에는 연결이 끊김.
- 클라이언트와의 연결이 끊기면 상태를 상실함(Stateless Server).
웹 서비스를 만드는데 사용된다. 주로 사용되는 프레임워크를 선택하여 사용한다.
ex) NodeJS, ASP.NET, PHP ...
ex2) 게임 로그인 웹 사이트
(2-2) 게임 서버 - TCP / Binary / Stateful Server
- 요청과 갱신 횟수가 많음.
- 실시간 상호작용이 있음.
- 언제라도 서버가 클라이언트에 접근이 가능해야 함.
- (접속이 유지될 때) 클라이언트의 상태를 가지고 있음.
웹 서버와 달리 고정된 프레임워크가 없음(게임마다 다르기 때문에).
(3) 게임 서버 제작할 때 생각해야 하는 부분 (식당과의 비유)
직접 서버를 만드는 것보다 언리얼 엔진에서 제공하는 데디케이트 서버를 사용하여 만들면, 새로 만드는 것보다 쉽다.
'서버 프로그래밍 > 멀티 스레드' 카테고리의 다른 글
1-6. CAS(Compare And Swap), 스핀 락(Spin Lock) (0) | 2023.11.24 |
---|---|
1-5. 락 (Lock), 뮤텍스(mutex), RAII 패턴, lock_guard (0) | 2023.11.24 |
1-4. 공유 자원과 경쟁 조건 (0) | 2023.11.23 |
1-3. 캐시, CPU 파이프라인, 스레드 경쟁 조건 (1) | 2023.11.23 |
1-2. 멀티 스레드 (0) | 2023.11.23 |