728x90

게임서버 36

24.04.11 서버 프로그래밍

게임 서버 프로그래밍 교과서 7장. 데이터베이스 기초 7.1 플레이어의 정보 저장 온라인 게임에서는 플레이어 정보를 클라이언트가 아닌 서버에만 저장한다. 클라이언트는 로그인한 후 플레이어 정보를 서버에서 받아 사용한다. 플레이어 정보를 서버에 저장하는 방법은 크게 두 가지가 있다. 파일 데이터베이스 단순파일 DB 비고 소프트웨어 비용 없다. 없거나 높다 오픈 소스 제품은 제한적으로 무료다 저장 및 로딩속도 빠르다 느리다 DB도 결국 파일 시스템을 사용한다. 데이터 관리, 분석 속도 느리다 빠르다 DB는 빠른 검색을 위한 인덱스 기능이 있다 데이터 백업 및 복원 기능 없다 있다. - 원자성 불가능하다 가능하다 DB의 트랜잭션 기능이다 일관성 (잘못된 상태의 데이터를 원천 봉쇄한다.) 없다 있다 DB의 제약..

게임 서버 프로그래밍 교과서 4장. 게임 서버와 클라이언트

4장. 게임 서버와 클라이언트 4.1 패키지 게임에서 게임서버 데디케이티드(decidated server) 렌더링과 사용자 입력 처리를 전혀 받지 않고, 순전히 클라이언트의 연결을 받는 세션을 처리만 하는 프로그램이 따로 들어있는 경우 4.2 서버의 역할 싱글 플레이 게임의 게임루프(game loop) 입력받기 → 게임 로직 처리하기 → 렌더링 4.3 게임 클라이언트와 서버의 상호작용 게임 클라이언트가 서버에 데이터, 즉 메시지를 전달하면 서버는 이를 수신하여 메시지 내용에 따라 특정한 행동을 한다. 반대로 서버에서 클라이언트에 메시지를 전달하면 클라이언트는 수신한 메시지 내용에 따라 특정한 행동을 한다. 이렇게 메시지가 오가는 과정을 상호작용(interaction)이라고 한다. 게임 클라이언트와 서버의..

게임 서버 프로그래밍 교과서 3장. 소켓 프로그래밍

3장 소켓 프로그래밍 온라인 게임 프로그래밍에서 소켓은 파일 핸들 방식과는 약간 다르다. 게임 서버에서는 다루어야 하는 소켓 개수가 많다. TCP를 이용해서 통신하는 경우 클라이언트 개수만큼 소켓이 있어야 한다. 파일 핸들을 하는 동안 스레드가 대기하는 일이 없어야 한다. 디스크를 읽거나 쓸 때 사용하는 read(), write() 함수는 호출 후 실행이 완료될 때 까지 리턴하지 않는다. 소켓을 이용해서 읽기/쓰기를 하는 함수를 호출 했는데 즉시, 리턴하지 않는다면 이들을 호출한 메인 스레드는 사용자 입장에서 일시정지 하는 것 처럼 보인다. 이러한 이유 때문에 네트워크 프로그래밍에서 소켓은 보통 비동기 입출력(Asynchronous I/O) 상태로 다룬다. 소켓을 비동기 입출력으로 다루는 방식에는 크게는..

24.04.09 서버 프로그래밍, 서버 공부

게임 서버 프로그래밍 교과서 4장. 게임 서버와 클라이언트 4.1 패키지 게임에서 게임서버 데디케이티드(decidated server) 렌더링과 사용자 입력 처리를 전혀 받지 않고, 순전히 클라이언트의 연결을 받는 세션을 처리만 하는 프로그램이 따로 들어있는 경우 4.2 서버의 역할 싱글 플레이 게임의 게임루프(game loop) 입력받기 → 게임 로직 처리하기 → 렌더링 4.3 게임 클라이언트와 서버의 상호작용 게임 클라이언트가 서버에 데이터, 즉 메시지를 전달하면 서버는 이를 수신하여 메시지 내용에 따라 특정한 행동을 한다. 반대로 서버에서 클라이언트에 메시지를 전달하면 클라이언트는 수신한 메시지 내용에 따라 특정한 행동을 한다. 이렇게 메시지가 오가는 과정을 상호작용(interaction)이라고 한..

24.04.06 서버 프로그래밍, 서버 최적화, 백준

게임 서버 프로그래밍 교과서 2장. 컴퓨터 네트워크 2.1 OSI 모델 계층 1 : 물리 계층 계층 2 : 데이터 링크 계층 계층 3 : 네트워크 계층 계층 4 : 전송 계층 계층 5 : 세션 계층, 6 : 표현 계층, 7 : 응용 계층 데이터 링크 계층 각 단말기는 고유한 주소를 갖는다. 단말기는 데이터를 프레임이라는 단위로 주고 받는다. 네트워크 계층 라우터는 서로 다른 LAN 사이에 컴퓨터 통신을 할 수 있게 하는 장비이다. 3계층에서 흔히 접하는 것은인터넷 프로토콜(Internet Protocol)혹은 IP라고 하는 것이다. 인터넷 프로토콜에서는 주소 형식 8비트 숫자 4개로 구성되어 있다. 우리가 흔히 IP 주소라고 칭하는 것이 이것이다. 데이터는 IP에 의해 IP 패킷 형태로 포장된다. 2.2..

게임 서버 프로그래밍 2장. 컴퓨터 네트워크

2장. 컴퓨터 네트워크 2.1 OSI 모델 계층 1 : 물리 계층 계층 2 : 데이터 링크 계층 계층 3 : 네트워크 계층 계층 4 : 전송 계층 계층 5 : 세션 계층, 6 : 표현 계층, 7 : 응용 계층 데이터 링크 계층 각 단말기는 고유한 주소를 갖는다. 단말기는 데이터를 프레임이라는 단위로 주고 받는다. 네트워크 계층 라우터는 서로 다른 LAN 사이에 컴퓨터 통신을 할 수 있게 하는 장비이다. 3계층에서 흔히 접하는 것은인터넷 프로토콜(Internet Protocol)혹은 IP라고 하는 것이다. 인터넷 프로토콜에서는 주소 형식 8비트 숫자 4개로 구성되어 있다. 우리가 흔히 IP 주소라고 칭하는 것이 이것이다. 데이터는 IP에 의해 IP 패킷 형태로 포장된다. 2.2 인터넷 서로 다른 종류의 많..

728x90