- 컴투스 서버 프로그래머만 대상으로 하고 있습니다.
- 실습에 참여하기 위해서는 저에게 연락하여 멤버로 참여합니다.
- 이 저장소에서 자신만의 브랜치를 새로 만드세요.
- 각 단계 별 진행을 할 때마다 매번 프로젝트를 새로 만드세요.
- 단계 별로 만들어야 할 것이 잘 이해가 안 되면 꼭 질문 하세요.
- 단계를 마치면 저에게 피드백을 받습니다.
OS의 Socket API를 사용한 실시간 통신(TCP/UDP)을 하는 게임 서버를 만들 수 있는 기술을 배운다.
- 처음부터 직접 네트워크 라이브러리 만들기
- 네트워크 프로그래밍을 위한 핵심 네트워크 이론을 배운다.
- 멀티스레드 프로그래밍을 배운다.
- Socket API 사용하는 방법을 배운다.
- IOCP
- 기존 네트워크 라이브러리 리팩토링
- 기존 네트워크 라이브러리를 사용하여 게임 서버 만들기
- 로그 사용에 대해서 배운다
- 패킷을 직렬화 하고 핸들링 하는 방법을 배운다.
- 효율적인 메모리 관리 방법을 배운다.
- 많은 클라이언트 접속을 처리할 수 있는 서버를 만들어 본다.
- 더미 클라이언트를 이용한 테스트.
- 게임 서버 구조에 대해서 배운다.
- 턴 방식의 단독 게임 서버를 만들어 본다.
- 스케일 아웃을 고려한 게임 서버를 만들어 본다
- 서버 크래시에 대처하는 방법을 배운다.
- DB 프로그래밍
- Redis 프로그래밍
- 오목 게임 만들기
- mmo 게임 만들기
- 클라는 콘솔이나 winform
- 2d 게임
- 맵관리
- 패킷 포맷
- 바이너리
- 구글 프로토버퍼
- 링버퍼 만들기
- 로그 라이브러리 만들기
- 메모리 풀
- 객체 풀
- 크기별 메모리 풀 만들기
- tcmalloc 사용하기
YES24
이 책은 팀에 있다. 예제 코드는 onlinegameserver.zip
이다.
이 책의 예제 코드 중 게임서버 코드를 Modern C++ 코드로 리팩토링한다.
- MFC는 사용하지 않는다.
- C++스러운 네임컨벤셜을 따른다.
- C가 아닌 C++ 코드스럽게 한다.
IocpChatServer
nhn_next_IocpServer