Введение 1
1. Актуальность работы 3
2. Технология WebRTC 5
2.1. Компоненты и архитектура WebRTC 6
2.2. Протоколы и стандарты WebRTC 11
2.2.1. Протокол UDP 12
2.2.2 Кодеки для сжатия аудио и видео 13
2.3 RTCDataChannel 15
2.3.1 Создание соединения между двумя браузерами 18
2.3.2 Использование RTCDataChannel для сигнализации 22
2.4. Использование ICE сервера для работы с NAT и брандмауэрами 23
2.5. STUN 26
3. Практическая часть: создание сервера для WebRTC приложения 30
3.1 RTCPeerConnection 35
3.1.1 Определение параметров сессии 35
3.1.2 Сбор ICE-кандидатов 36
3.1.3 Создание канала данных 37
3.1.4. STUN и TURN сервера 39
3.1.5. Клиентская часть 40
Заключение 42
Использованная литература 44
С появлением компьютерных сетей в 60-ых годах 20 века появились и первые сетевые онлайн игры. Они были локальные, работали в университетских мейнфреймах. Широкое распространение они не получили, потому что сетевая инфраструктура не была доступна.
К первым локальным многопользовательским играм мы можем отнести игры “Tennis for Two” (1958) и “Spacewar!” (1962). Они не очень отличались от однопользовательских, работали на одной машине и поддерживали несколько устройств ввода.
Первой сетевой игрой является стратегия «Empire» созданная в 1973 году. Она была реализована на системе PLATO в Иллинойском университете.
В 1974 году появилась сеть Telnet. Создается первая игра от первого лица - “MazeWar” В игре несколько игроков находились в псевдотрехмерном лабиринте и стреляли в друг-друга.
В 1976 году появилась первая локальная сеть Ethernet. Его создал Роберт Меткалф - сотрудник Xerox. Начали появляться массовые персональные компьютеры. Изобретается компьютерный модем. Сама глобальная сеть появился в 1982 году. В это время начали появляться первые коммерческие игры. Они находились в сети, поэтому пользователи платили за трафик.
Интернет в таком виде развивался до 90 годов 20 века. В 1990 году появился интернет WWW. Был принят протокол http и язык разметки html. Это придало резкий толчок для развития онлайн игр.
Первая MMORPG появилась в 1997 году. Она быстро стала популярной и через год в нее играли 100 000 пользователей.
Еще один большое изменение в мире онлайн игр произошло после появления социальных сетей. разработчики начали внедрять свои игры в социальные сети. Людям не приходилось регистрироваться или скачивать клиенты игр. Они заходили на сайт и играли.
С первых игр и до сегодняшнего дня игры становились все красивей, динамичней и интересней. Все это возможно благодаря росту технологий. Появление новых протоколов передачи данных, новые кодеки для аудио и видео и рост скорости доступа в интернет качественно изменили представление о многопользовательской онлайн игре.
В данной дипломной работе была изучена и изложена технология WebRTC.
Технология WebRTC позволяет создать легко расширяющиеся, быстрые и безопасные соединения между двумя или несколько устройствами. Сама технология нова, но несмотря на это, поддерживается многими декстопными браузерами и браузерами, работающими на мобильных устройствах. WebRTC стандартизирован, многие используемые кодеки бесплатные. Сама технология с открытым исходным кодом.
Соединения между устройствами являются безопасными. Во-первых, данные не обрабатываются на сервере, они идут напрямую к удаленному устройству. Во- вторых, все передаваемые данные шифруются. Для шифрование данных используется протокол DTLS, а для видео и аудио - SRTP.
Разработанное приложение состоит из 3 частей:
1. Сервер PeerJS
2. Сигнальный сервер
3. Клиентской части
Созданное приложение полностью удовлетворяет всем требованиям. Взаимодействие между устройствами быстрое и безопасное.
Проведенные исследования и применение разработанного приложения позволили сделать следующие выводы:
1. Технология очень гибка, позволяет настроить передачу данных под задачи.
2. По причине невозможности создания прямого доступа к некоторым устройствам, нужно использовать пересылающие TURN сервера. Поэтому, использование WebRTC и дополнительного сервера, написанного с использованием Socket.io является оптимальным решением.