Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Передача потокових даних на основі WebRTC

Реферат Передача потокових даних на основі WebRTC





amEnded - функція-обробник події зупинки потоку, onOfferSDP і onAnswerSDP - функції відправлення запитів і відповідей на запит підключення. Функція RTCPeerConnection при виклику створює об'єкт WebRTC-підключення, відправляє запит на підключення до іншому клієнту і потік, якщо він заданий. Після того, як клієнт підтвердить підключення і відправить відповідь, для установки з'єднання можна викликати функцію addAnswerSDP, яка зберігає SDP клієнта.

Малюнок 11 - Збереження SDP

Функції onOfferSDP і onAnswerSDP спочатку не задані в коді функції PeerConnection, вони задаються при її виклику. Це зроблено для того, щоб дана бібліотека була якомога більш переноситься. У WebRTC немає вбудованих функцій для обміну SDP-повідомленнями, тому програміст може сам вибрати, що використовувати для цього: web-сокети, базу даних або власний сигнальний сервер.

Друга важлива функція класу RTCPeerBroadcasting - функція Broadcasting. Ця функція є обгорткою для RTCPeerConnection, виконує роль шару абстракції і створена для спрощення створення конференц-зв'язку, коли підключених клієнтів більше одного. Приймає на вхід об'єкт, приклад якого показаний на малюнку 12.

Рисунок 12 - Об'єкт параметрів Broadcasting

В даному об'єкті openSocket - функція відкриття сокета, в якої необхідно задати функції обміну SDP-повідомленнями, onRemoteStream і onRemoteStreamEnded - функції-обробники початку і завершення потоків, connectToRoom - функція, яка буде викликана при підключенні до вже існуючої конференції. При виклику Broadcasting відправляє в сокет SDP і очікує відповідь. Якщо відповідь отримана, створюється новий об'єкт RTCPeerConnection для нового підключеного клієнта і встановлюється з'єднання. Broadcasting повертає об'єкт, що містить методи createRoom, joinRoom, leaveRoom. Метод createRoom створює нову конференцію з вказаним ім'ям, після виклику відправляє в сокет повідомлення з інформацією про нову конференції. Метод joinRoom відправляє запит на підключення до вже існуючої конференції, створює новий об'єкт RTCPeerConnection. Метод leaveRoom запускає цикл за списком всіх об'єктів RTCPeerConnection і на кожному викликає метод close , який закриває пряме підключення. У підсумку бібліотека має простий інтерфейс для створення конференц-підключень. Ця бібліотека є основою для WebRTC-додатки, яке буде довантажуватися розширенням на сторінку Вконтакте.

Для цього додатка ще необхідно було створити користувальницький інтерфейс і функціонал для створення деякого подібності викликів і відповідей на відеодзвінок. Так як структура цього додатка припускає, що додаток буде довантажуватися в iframe на сторінці з іншим доменом, то необхідно реалізувати механізм обміну даними між батьківським вікном і вмістом iframe. Для цього був обраний механізм POST-повідомлень. Вони відправляються у вигляді рядка. Щоб відправити масив з даними, можна закодувати його в JSON-рядок, а при отриманні декодувати.

Малюнок 13 - Вилов POST-повідомлення

При отриманні POST-повідомлення з необхідними даними (id дзвонить і приймає, посилання на фотографію, ім'я) скрипт запускає нову конференцію, викликаючи метод createRoom бібліотеки RTCPeerBroadcasting, в Як ім'я конференції буде вказаний id приймаючого користувача. Після того, як конференція створена, в базу даних буде записана інформація про виклику. Якщо приймає виклик користувач буде в режимі онлайн, то він от...


Назад | сторінка 10 з 15 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Передача потокових даних на основі WebRTC
  • Реферат на тему: Розробка термогенератора, який буде використовувати тепло двигуна для заряд ...
  • Реферат на тему: Структура команди мови запитів SQL. Простий запит. Багатотабличного запит
  • Реферат на тему: Особливості сюжету повісті і функція її заголовка (І.С. Тургенєв "Післ ...
  • Реферат на тему: Функція особистого споживання в Україні на підставі щоквартальних даних 200 ...