[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버 - 서버 OT, 환경설정

Jangmanbo·2023년 6월 16일
0

섹션 0.OT
서버 OT, 환경설정 이론만 정리

서버

다른 컴퓨터에서 연결이 가능하도록 대기 상태로 상시 실행 중인 프로그램

서버의 종류

웹 서버(http)

  • request, response의 반복
  • 실시간 interaction X
  • 일반적으로 서버가 먼저 접근 X
  • Stateless
  • 처음부터 만들지 않고 프레임워크 사용

게임 서버(TCP, Binary, Stateful)

  • 요청, 갱신 횟수가 많음
  • 실시간 interaction
  • 언제든 서버가 먼저 접근
  • Stateful

※ 게임 서버는 게임이나 장르에 따라 요구사항이 매우 다름
따라서 최적의 프레임워크가 존재하지 않음


정적 라이브러리 vs 동적 라이브러리

C++ 빌드 과정

소스코드
-전처리기, 컴파일러->어셈블리 코드
-어셈블러->오브젝트 파일
-다른 오브젝트 파일, 라이브러리 등과 함께 링킹->실행파일

정적 라이브러리 (Static Library, Lib)

  • 링커에 의해 오브젝트 파일들과 함께 링킹되는 라이브러리
  • 실행할 때 라이브러리의 내용을 모두 메모리에 적재
  • 실행파일을 한 번 만들고 나면 라이브러리를 따로 관리할 필요 없음

동적 라이브러리 (Dynamic Library, DLL)

  • 프로그램에서 사용하는 라이브러리를 복사하지 않고 주소만 가지고 있다가 런타임 시 필요한 모듈의 주소로 가서 라이브러리 정보를 가져오는 방식
  • 이미 해당 라이브러리가 메모리에 존재하는 경우 비용을 아낄 수 있음
  • 메모리에 접근해야 하므로 오버헤드가 존재하여 수행시간은 Lib에 비해 느림
  • 바이너리에 라이브러리가 포함되는 것이 아니기 때문에, 실행파일과 DLL을 별개로 관리해야 함

0개의 댓글