| Глейзер Д. Многопользовательские игры: разработка сетевых приложений: пер. с англ. / Д.Глейзер, С.Мадхав. - СПб. и др.: Питер, 2017. - 366 с. - (Библиотека программиста: БП).
ШИФР ГПНТБ СО РАН З 973.2-018-Г534
| |
Предисловие .................................................... 10
Кому адресована эта книга ...................................... 11
Условные обозначения ........................................... 11
Почему С++? .................................................... 12
Почему JavaScript? ............................................. 12
Веб-сайт книги ................................................. 13
Благодарности .................................................. 14
О Благодарности от Джошуа Глейзера ............................. 14
О Благодарности от Санджая Мадхава ............................. 15
Об авторах ..................................................... 16
Глава 1. Обзор сетевых игр ..................................... 17
Краткая история многопользовательских игр ...................... 17
Starsiege: Tribes .............................................. 21
Age of Empires ................................................. 27
В заключение ................................................... 30
Вопросы для повторения ......................................... 31
Для дополнительного чтения ..................................... 31
Глава 2. Интернет .............................................. 32
Происхождение: коммутация пакетов .............................. 32
Многоуровневая модель TCP/IP ................................... 34
Физический уровень ............................................. 35
Канальный уровень .............................................. 36
Сетевой уровень ................................................ 40
Транспортный уровень ........................................... 56
Прикладной уровень ............................................. 69
NAT ............................................................ 70
В заключение ................................................... 78
Вопросы для повторения ......................................... 79
Для дополнительного чтения ..................................... 80
Глава 3. Сокеты Беркли ......................................... 82
Создание сокетов ............................................... 82
Различия в API операционных систем ............................. 85
Адрес сокета ................................................... 88
Сокеты UDP ..................................................... 96
Сокеты TCP .................................................... 100
Блокирующий и неблокирующий ввод/вывод ........................ 106
Дополнительные параметры сокетов .............................. 113
В заключение .................................................. 115
Вопросы для повторения ........................................ 116
Для дополнительного чтения .................................... 116
Глава 4. Сериализация объектов ................................ 118
Необходимость сериализации .................................... 118
Потоки данных ................................................. 122
Ссылочные данные .............................................. 135
Сжатие ........................................................ 139
Простота сопровождения ........................................ 147
В заключение .................................................. 152
Вопросы для повторения ........................................ 153
Для дополнительного чтения .................................... 153
Глава 5. Репликация объектов .................................. 154
Состояние мира ................................................ 154
Репликация объекта ............................................ 155
Простая репликация состояния мира ............................. 163
Изменения в состоянии мира .................................... 166
Удаленный вызов процедур в виде сериализованных объектов ...... 173
Нестандартные решения ......................................... 176
В заключение .................................................. 177
Вопросы для повторения ........................................ 177
Для дополнительного чтения .................................... 178
Глава 6. Топологии сетей и примеры игр ........................ 179
Топологии сетей ............................................... 179
Реализация модели «клиент-сервер» ............................. 184
Реализация модели «точка-точка» ............................... 195
В заключение .................................................. 210
Вопросы для повторения ........................................ 210
Для дополнительного чтения .................................... 211
Глава 7. Задержки, флуктуации и надежность .................... 212
Задержки ...................................................... 212
Флуктуации .................................................... 218
Потеря пакетов ................................................ 219
Надежность: TCP или UDP? ...................................... 221
Извещение о доставке пакета ................................... 224
Надежная репликация объектов .................................. 235
Имитация реальных условий работы .............................. 241
В заключение .................................................. 243
Вопросы для повторения ........................................ 244
Для дополнительного чтения .................................... 245
Глава 8. Улучшенная обработка задержек ........................ 246
Клиент как простой терминал ................................... 246
Интерполяция на стороне клиента ............................... 249
Прогнозирование на стороне клиента ............................ 252
Возврат на стороне сервера .................................... 262
В заключение .................................................. 264
Вопросы для повторения ........................................ 265
Для дополнительного чтения .................................... 265
Глава 9. Масштабируемость ..................................... 266
Область видимости и релевантность объектов .................... 266
Сегментирование серверной среды выполнения .................... 273
Клонирование .................................................. 275
Система приоритетов и частота обновления ...................... 276
В заключение .................................................. 276
Вопросы для повторения ........................................ 277
Для дополнительного чтения .................................... 277
Глава 10. Безопасность ........................................ 278
Перехват пакетов .............................................. 278
Проверка ввода ................................................ 283
Программное выявление мошенничества ........................... 285
Защита сервера ................................................ 287
В заключение .................................................. 291
Вопросы для повторения ........................................ 292
Для дополнительного чтения .................................... 292
Глава 11. Игровые движки ...................................... 293
Unreal Engine 4 ............................................... 293
Unity ......................................................... 298
В заключение .................................................. 301
Вопросы для повторения ........................................ 302
Для дополнительного чтения .................................... 302
Глава 12. Игровые службы ...................................... 303
Выбор игровой службы .......................................... 303
Основные настройки ............................................ 304
Вступление в игру и координация ............................... 308
Сетевые взаимодействия ........................................ 312
Статистика игрока ............................................. 314
Награды игрока ................................................ 319
Таблицы рекордов .............................................. 320
Другие службы ................................................. 322
В заключение .................................................. 323
Вопросы для повторения ........................................ 323
Для дополнительного чтения .................................... 324
Глава 13. Облачный хостинг для выделенных серверов ............ 325
Размещать или не размещать .................................... 325
Важнейшие инструменты ......................................... 327
Обзор и терминология .......................................... 329
Локальный диспетчер серверных процессов ....................... 333
Диспетчер виртуальных машин ................................... 339
В заключение .................................................. 348
Вопросы для повторения ........................................ 349
Для дополнительного чтения .................................... 350
Приложение. Современный С++ ................................... 351
С++11 ......................................................... 351
Ссылки ........................................................ 353
Шаблоны ....................................................... 355
«Умные» указатели ............................................. 357
Контейнеры STL ................................................ 362
Итераторы ..................................................... 364
Для дополнительного чтения .................................... 366
|
Права на издание получены по соглашению с Addison-Wesley Longman. Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как надежные. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные ошибки, связанные с использованием книги. |
|