상세정보
게임 서버 프로그래밍 교과서
- 저자
- 배현직 저
- 출판사
- 길벗
- 출판일
- 2019-04-24
- 등록일
- 2022-06-21
- 파일포맷
- EPUB
- 파일크기
- 77MB
- 공급사
- 예스이십사
- 지원기기
-
PC
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
네트워크 기초부터 고성능 서버 제작 기술까지
프라우드넷 개발자의 경험을 고스란히 담았다
[세븐나이츠], [마블 퓨처 파이트], [마비노기 영웅전], [스트라이트 파이터5] 등 전세계 13개국, 190개 이상의 다양한 게임에서 사용 중인 서버 네트워크 엔진 프라우드넷(ProudNet)을 개발한 저자의 지식과 실전 경험을 여러분의 것으로! 게임 서버 프로그래머로서의 입지가 단단해질 것이다.
저자소개
1986년부터 아마추어 게임을 개발했고 1995년부터 현업 게임 개발을 해왔다. 게임 서버 개발은 1997년부터 했다. 미국의 유명 서적 『Game Programming Gems』에 한국인 최초로 공동 저술을 하기도 했다. 2개의 게임 회사를 창업하고 실패한 후 게임 서버 엔진 회사 넷텐션을 설립하여 프라우드넷을 출시하였다.
블로그 http://imays.blog.me
페이스북 https://www.facebook.com/imays76
목차
1장 멀티스레딩
1.1 프로그램과 프로세스
1.2 스레드
1.3 멀티스레드 프로그래밍은 언제 해야 할까?
1.4 스레드 정체
1.5 스레드를 다룰 때 주의 사항
1.6 임계 영역과 뮤텍스
1.7 교착 상태
1.8 잠금 순서의 규칙
1.9 병렬성과 시리얼 병목
1.10 싱글스레드 게임 서버
1.11 멀티스레드 게임 서버
1.12 스레드 풀링
1.13 이벤트
1.14 세마포어
1.15 원자 조작
1.16 멀티스레드 프로그래밍의 흔한 실수들
1.17 심화 내용 및 더 읽을거리
2장 컴퓨터 네트워크
2.1 컴퓨터 네트워크를 구성하는 기기
2.2 인터넷
2.3 컴퓨터 네트워크 데이터
2.4 컴퓨터 네트워크 식별자
2.5 컴퓨터 네트워크의 품질과 특성
2.6 컴퓨터 네트워크에서 데이터 보내기와 받기
2.7 패킷 유실시 UDP와 TCP에서 현상
2.8 주로 사용하는 메시지 형식
2.9 네트워크 주소 변환
2.10 요약
2.11 더 읽을거리
3장 소켓 프로그래밍
3.1 블로킹 소켓
3.2 네트워크 연결 및 송신
3.3 블로킹과 소켓 버퍼
3.4 네트워크 연결받기 및 수신
3.5 수신 버퍼가 가득 차면 발생하는 현상
3.6 논블록 소켓
3.7 Overlapped I/O 혹은 비동기 I/O
3.8 epoll
3.9 IOCP
3.10 더 읽을거리
4장 게임 서버와 클라이언트
4.1 패키지 게임에서 게임 서버
4.2 온라인 게임에서 게임 서버
4.3 서버의 역할
4.4 게임 클라이언트와 서버의 상호 작용
4.5 게임 서버가 하는 일
4.6 게임 서버의 품질
4.7 플레이어 정보의 저장
4.8 서버 구동 환경
4.9 서버 개발 지침
4.10 더 읽을거리
5장 게임 네트워킹
5.1 UML
5.2 게임 플레이 네트워킹
5.3 레이턴시 마스킹
5.4 넓은 월드, 많은 캐릭터 처리
5.5 실시간 전략 시뮬레이션 게임에서 네트워크 동기화
5.6 실제 레이턴시 줄이기
5.7 게임 플레이 이외의 네트워킹
5.8 해킹과 보안
5.9 요약
6장 게임 네트워크 엔진 프라우드넷
6.1 게임 서버, 네트워크 엔진
6.2 개발 환경과 기본 모듈
6.3 게임 클라이언트-서버 간 통신
6.4 메시지 주고받기
6.5 와이파이 셀룰러 연결 핸드오버 기능
6.6 원격 메서드 호출
6.7 클라이언트끼리 P2P 통신
6.8 예시: 채팅 처리
6.9 스레드 모델
6.10 더 읽을거리
7장 데이터베이스 기초
7.1 플레이어의 정보 저장
7.2 데이터베이스 사용
7.3 데이터베이스의 데이터 구성
7.4 데이터베이스 시작
7.5 SQL 질의 구문
7.6 인덱스와 키
7.7 플레이어 정보를 데이터베이스에 저장하는 방법 1
7.8 플레이어 정보를 데이터베이스에 저장하는 방법 2
7.9 질의 구문 실행
7.10 게임 서버에서 질의 구문 실행
7.11 보안을 위한 주의 사항
7.12 더 읽을거리
8장 NoSQL 기초
8.1 관계형 데이터베이스와 NoSQL
8.2 관계형 데이터베이스에서 확장성
8.3 관계형 데이터베이스에서 고가용성
8.4 MongoDB를 위한 JSON 이해
8.5 MongoDB 시작
8.6 MongoDB에 데이터 액세스
8.7 성능 분석 기능
8.8 MongoDB 수평 확장
8.9 게임 서버에서 MongoDB 명령 실행
8.10 요약 및 더 알아보기
9장 분산 서버 구조
9.1 수직 확장과 수평 확장
9.2 서버 분산이 없다면?
9.3 고전적인 서버 분산 방법
9.4 논리적 단일 서버 분산
9.5 데이터 분산 vs 기능적 분산
9.6 로직 처리의 분산 방식들
9.7 데이터 응집도
9.8 기능적 분산 처리
9.9 분산 처리를 엄선해야 하는 이유
9.10 분산 처리 전략
9.11 분산 서버의 또 다른 장점
9.12 고가용성
9.13 데이터베이스의 분산
9.14 요약
10장 분산 서버 구조 사례
10.1 로그온 처리의 분산
10.2 데이터베이스의 수평 확장
10.3 매치메이킹의 분산 처리
10.4 몬스터 NPC 처리의 분산 처리
10.5 플레이어 간 상호 작용 분산 처리
10.6 로그 및 통계 분석의 분산 처리
10.7 게임 장르별 분산 서버 형태
10.8 요약 및 결론