вторник, 13 августа 2013 г.

WebRTC: подключение

Прежде чем передавать данные или видео из одного браузера в другой, следует установить между ними связь. Следующая короткая постановка должна объяснить, какие процессы при происходят.

Действующие лица:
  • браузер Маши
  • браузер Савелия
  • сторонний сервера
  • сигнальный сервер

Действие первое


Маша ждёт сообщение сообщение от Савелия. Она включает компьютер, открывает браузер. Заходит на страницу нашего сервиса.

Браузер Маши загружает при этом с сигнального сервера статические файлы: index.html, файлы со стилями, файл нашего приложения на ExtJs и картинки.

Сигнальный сервер нарочито быстро отдаёт файлы, чтобы показать, что эта задача для него не основная и что, на самом деле, он создан для другого.

Действие второе


Браузер Маши развернул перед ней на экране, созданное нами приложение. Чтобы принимать входящие сообщения, он успел сбегать на два сервера.

Сторонний сервер посмотрел на браузер Маши из интернета и рассказал, какой у того на самом деле IP. Заметив беспокойство на лице собеседника, он поспешил упокоить его, заверяя, что прочие браузеры всё равно смогут связаться с ним, несмотря на изоляцию, в которую он попал по вине разного рода маршрутизаторов и роутеров.

По совету стороннего сервера браузер Маши отослал своё описание на сигнальный сервер. Сигнальный сервер, не читая, положил это описание в архив. Он знал, что серверы намного важнее браузеров, и не вдавался в подробности их жизни. Запомнив только название канала связи, он сразу отключился.

Действие третье


Браузер Маши проверяет время от времени, не желает, кто-нибудь выйти с ним на связь. Сигнальный сервер монотонно отвечает, что нет, никого не было.

Действие четвёртое



На сцену выходит Савелий. Он отправляет письмо Маше. Вместо адреса - название канала связи.

Браузер Савелия уже загрузил наше приложение, написанное на ExtJs. Успел он побывать и у стороннего сервера. Сигнальному серверу он также направил своё описание и название канала связи.

Сигнальный сервер вёл себя необычно. Он понял, что браузеры Маши и Савелия могут общаться между собой и не докучать ему в течение этого времени своими запросами. Браузеру Савелия он вручил описание браузера Маши. Браузеру Маши, когда тот объявился в очередной раз, он вручил описание браузера Савелия.


Действие пятое (заключительное)


Радости браузеров нет предела. Наконец-то они избавились от общества этого высокомерного сигнального сервера. Имея описания друг друга, они всегда могут встретиться в сети и обсудить интересующие их темы.

Маша получила письмо Савелия.

От автора
Совпадение с реальными людьми случайны. Протоколы ICE, STUN и TURN оставлены за сценой умышленно. С ними ещё предстоит разобраться.

Комментариев нет:

Отправить комментарий