Сеня рядом и Белла пришел. Былое
Создание чат-приложений с использованием WebRTC. Для создания чат-приложения с использованием WebRTC можно использовать следующие подходы: PubNub WebRTC SDK. С его помощью можно упростить разработку мобильных и веб-приложений на основе WebRTC. Для этого созданы простые методы для начала и приёма вызовов, которые соответствуют стандартным телефонным системам. SimpleWebRTC. Это библиотека на JavaScript, которая упрощает реализацию WebRTC. С её помощью можно создавать видео- и аудиоприложения в режиме реального времени, которые работают в разных браузерах без необходимости писать специфичный для браузера код. Для работы с библиотекой нужно настроить одностраничное приложение на сервере Express, а для управления зависимостями — использовать Node.js и npm. Пример с GitHub. В нём представлен полный пример использования WebRTC для однорангового голосового и видеочата между двумя или более людьми. Для серверной части примера используются Node.js и socket.io, чтобы создать сигнальный сервер, который запускается на веб-сервере и управляет связью между пользователями. Для клиентской части есть файл client.html, который содержит логику подключения к сигнальному серверу, присоединения к виртуальному групповому чату, соединения с одноранговыми пользователями и трансляции видео и аудио всем участникам чата. Задняя часть: Перед началом работы необходимо иметь базовое понимание HTML, CSS и JavaScript. Также нужна современная версия веб-браузера, например Google Chrome, Mozilla Firefox или Safari, который поддерживает WebRTC. Сначала нам нужно создать бэкенд. Хотя мы реализуем прямую одноранговую связь, для начального рукопожатия и сотрудничества требуется центральный сервер. После завершения рукопожатия одноранговые узлы общаются напрямую, не полагаясь на серверную часть. PeerJS предоставляет нам такой сервер, процесс установки прост и удобен в использовании. В папке инициализируйте проект npm с помощью команды npm init, установите PeerJS с помощью команды npm install peer, а затем вы можете запустить его с помощью npx: Npx peerjs –port 9000 Используйте npx peerjs --help, чтобы просмотреть дополнительные параметры. Это ваш бэкенд. Теперь мы можем создать самое простое приложение, мы настраиваем получателя и отправителя. Внешний интерфейс: Сначала создайте приемник, подключитесь к серверу PeerJS и дождитесь получения информации. Первый параметр new Peer() — это имя нашей конечной точки, мы называем его приемником, чтобы сделать значение более понятным. : Импортируйте клиент PeerJS: <script src="https:/...pt> Затем инициализируйте объект Peer. Событие Connection вызывается, когда к нам подключается другая конечная точка. После получения некоторой информации вызывается событие данных: const peer = new Peer('receiver', { host: 'localhost', port: 9000, path: '/' }) peer.on('connection', (conn) => { conn.on('data', (data) => { console.log(data); }) }) Давайте создадим другой конец связи. Мы называем его отправителем, потому что он подключается и отправляет информацию получателю. Инициализируйте объект Peer, а затем запросите конечную точку для подключения к приемнику, который мы создали ранее. Как только соединение установлено, запускается событие open, а затем вызывается метод send() для отправки сообщения получателю: const peer = new Peer('sender', { host: 'localhost', port: 9000, path: '/' }) const conn = peer.connect('receiver') conn.on('open', () => { conn.send('hi!') }) Это самый простой пример. Сначала откройте получателя, затем откройте отправителя. Получатель получает информацию непосредственно от отправителя без необходимости использования центрального сервера. Серверу нужно только обмениваться информацией, чтобы убедиться, что оба конца соединены. После этого не будет никаких помех в связи между двумя концами. Это очень простая информационная связь. показать удаленный поток: Сначала создайте приемник, подключитесь к серверу PeerJS и дождитесь получения информации. Первый параметр new Peer() — это имя нашей конечной точки, мы называем его приемником, чтобы сделать значение более понятным. На этом всё.
WebRTC: фреймворк ice, stun и сервера turn
WebRTC (web real time communication) — это проект с открытым исходным кодом, позволяющий создавать одноранговые (P2P) аудио - и видеосвязи через JavaScript API.