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

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





римає повідомлення про виклик з бази даних. Якщо користувач відхилить виклик, то в базу даних буде відправлено відповідне повідомлення, яке отримає зухвалий. Якщо користувач прийме виклик, то браузерні розширення відкриє iframe і завантажить сторінку з WebRTC-додатком. У нього також буде відправлено POST-повідомлення про прийняття виклику, після чого буде викликаний метод joinRoom бібліотеки RTCPeerBroadcasting. Користувач буде підключений до конференції та між ним і викликає буде встановлено пряме підключення.

Після завершення роботи над WebRTC-додатком було написано браузерні розширення. У маніфесті розширення було вказано, з якими доменами йому буде дозволено працювати:

«permissions»: [«#», «Https://vk/ *», «Notifications», «tabs», «storage»]

До Вконтакте можна отримати доступ по захищеному протоколу https, і розширенню буде дозволено працювати по http і https, але, щоб виключити можливість перехоплення даних третьм особами, в коді, який взаємодіє безпосередньо зі сторінкою сайту (файл content.js) був доданий редирект на https, якщо користувач зайшов на сайт через http.

Малюнок 14 - Редірект

Коли користувач заходить на сторінку сайту, в базу даних зберігається інформація про те, що користувач знаходиться в режимі онлайн. При закритті вкладки браузера ця інформація буде видалена. Для роботи програми була необхідна інформація про користувача: ім'я, id, фотографія. Для отримання цієї інформації відправляється асинхронний запит на адресу vk/id0 , з якого автоматично проводиться редирект на сторінку користувача. За допомогою парсинга по селекторам класів з вмісту сторінки витягується все необхідне.

Малюнок 15 - Парсинг отриманої сторінки

Після отримання даних на директорію користувача в базі даних вішається обробник отримання нових повідомлень про вхідний відеодзвінкі. При виклику створюється спливаюче вікно з кнопками для прийняття та відхилення виклику. Одночасно з цим перевіряється адресу поточної сторінки. Це необхідно для того, щоб перевірити, чи знаходиться користувач на особистій сторінці іншого користувача. Якщо це так, то з вмісту даної сторінки буде отримана інформація про цього користувача, щоб перевірити, чи має цей користувач встановлене розширення. На сторінці  користувача, який теж має розширення, буде відображена кнопка для вчинення відеодзвінка. При натисканні на неї в базу даних відправляється повідомлення про виклик, а на сторінці завантажується iframe з WebRTC-додатком, в який відправляється POST-повідомлення.

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

Другим параметром функції postMessage повинен бути зазначений домен, на який дозволено відправляти POST-повідомлення, в прикладі вище же вказаний символ * для того, щоб вирішити відправку на будь-який домен, так як iframe в цьому додатку буде довантажуватися зі стороннього сервера.

Коли користувач буде підключений до конференції, це відобразиться на його сторінці Вконтакте. Іншим користувачам додатки в цьому випадку замість кнопки виклику буде відображена кнопка підключення до конференції. При підключенні, як і при прийнятті, виклику буде завантажений iframe і відбудеться спроба підключення до сокета методом joinRoom бібліотеки RTCPeerBroadcasting.

Крім повідомлення про виклик у вигляді спливаючого вікна необхідно було також додати звукове повідомлення, яке користувач зміг б налаштовува...


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





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

  • Реферат на тему: Розробка термогенератора, який буде використовувати тепло двигуна для заряд ...
  • Реферат на тему: Хто буде «здаватися електронкою»
  • Реферат на тему: Вірш Тургенєва І.С. "Коли мене не буде"
  • Реферат на тему: Яким буде кінець світу?
  • Реферат на тему: Українська модель суспільства: чи буде вона ліберальної?