Многопользовательские игры. Разработка сетевых приложений [Джошуа Глейзер] (pdf) читать постранично

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

ББК 32.988.02-018
УДК 004.738.5
Г53

Глейзер Дж., Мадхав С.
Г53

Многопользовательские игры. Разработка сетевых приложений. — СПб.: Питер,
2017. — 368 с.: ил. — (Серия «Библиотека программиста»).
ISBN 978-5-496-02290-3
Сетевые многопользовательские игры — это многомиллиардный бизнес, привлекающий десятки
миллионов игроков. Эта книга на реальных примерах рассказывает об особенностях разработки таких
игр и основах построения надежной многопользовательской архитектуры.
Вы узнаете об основах сетевого программирования с точки зрения разработчиков игр, управлении
игрой через передачу данных, сетевых обновлениях, обеспечении надежной работы и научитесь со­
здавать безопасный и масштабируемый код. Не останутся без внимания игровые сервисы и облачные
технологии.
Эта книга пригодится всем, кто хочет узнать, как создаются сетевые игры.

12+ (В соответствии с Федеральным законом от 29 декабря 2010 г. № 436-ФЗ.)

ББК 32.988.02-018
УДК 004.738.5

Права на издание получены по соглашению с Addison-Wesley Longman. Все права защищены. Никакая часть
данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как надежные. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может
гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные
ошибки, связанные с использованием книги.

ISBN 978-0134034300 англ.
ISBN 978-5-496-02290-3

Copyright © 2016 Pearson Education, Inc.
© Перевод на русский язык ООО Издательство «Питер», 2017
© Издание на русском языке, оформление ООО Издательство «Питер», 2017
© Серия «Библиотека программиста», 2017

Оглавление

Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Кому адресована эта книга . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Условные обозначения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Почему C++? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Почему JavaScript? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Веб-сайт книги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10
11
11
12
12
13

Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Благодарности от Джошуа Глейзера . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Благодарности от Санджая Мадхава . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Об авторах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

Глава 1. Обзор сетевых игр . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Краткая история многопользовательских игр . . . . . . . . . . . . . . . . . . . . .
Starsiege: Tribes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Age of Empires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
В заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Вопросы для повторения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Для дополнительного чтения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17
17
21
27
30
31
31

Глава 2. Интернет . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Происхождение: коммутация пакетов . . . . . . . . . . . . . . . . . . . . . . . . . .
Многоуровневая модель TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Физический уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Канальный уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Сетевой уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Транспортный уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Прикладной уровень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
В заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32
32
34
35
36
40
56
69
70
78

6   Оглавление

Вопросы для повторения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Для дополнительного чтения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Глава 3. Сокеты Беркли . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Создание сокетов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Различия в API операционных систем . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Адрес сокета . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Сокеты UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Сокеты TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .