ПОВЕРНИТЕ сервер

Для работы большинства приложений WebRTC требуется сервер для ретрансляции трафика между узлами, поскольку прямой сокет между клиентами часто невозможен (если они не находятся в одной локальной сети). Обычный способ решить эту проблему — использовать сервер TURN. Этот термин означает «Обход с использованием реле вокруг NAT» и представляет собой протокол ретрансляции сетевого трафика.

В настоящее время в Интернете доступно несколько вариантов серверов TURN: как в виде автономных приложений (например, проект COTURN с открытым исходным кодом), так и в виде облачных услуг.

Если у вас есть сервер TURN, доступный в Интернете, все, что вам нужно, это правильная RTCConfiguration , чтобы ваше клиентское приложение могло его использовать. Следующий фрагмент кода иллюстрирует пример конфигурации для RTCPeerConnection , где сервер TURN имеет имя хоста my-turn-server.mycompany.com и работает на порту 19403 . Объект конфигурации также поддерживает свойства username и credential для защиты доступа к серверу. Они необходимы при подключении к серверу TURN.

const iceConfiguration = {
    iceServers: [
        {
            urls: 'turn:my-turn-server.mycompany.com:19403',
            username: 'optional-username',
            credential: 'auth-token'
        }
    ]
}

const peerConnection = new RTCPeerConnection(iceConfiguration);
,

Для работы большинства приложений WebRTC требуется сервер для ретрансляции трафика между узлами, поскольку прямой сокет между клиентами часто невозможен (если они не находятся в одной локальной сети). Обычный способ решить эту проблему — использовать сервер TURN. Этот термин означает «Обход с использованием реле вокруг NAT» и представляет собой протокол ретрансляции сетевого трафика.

В настоящее время в Интернете доступно несколько вариантов серверов TURN: как в виде автономных приложений (например, проект COTURN с открытым исходным кодом), так и в виде облачных услуг.

Если у вас есть сервер TURN, доступный в Интернете, все, что вам нужно, это правильная RTCConfiguration , чтобы ваше клиентское приложение могло его использовать. Следующий фрагмент кода иллюстрирует пример конфигурации для RTCPeerConnection , где сервер TURN имеет имя хоста my-turn-server.mycompany.com и работает на порту 19403 . Объект конфигурации также поддерживает свойства username и credential для защиты доступа к серверу. Они необходимы при подключении к серверу TURN.

const iceConfiguration = {
    iceServers: [
        {
            urls: 'turn:my-turn-server.mycompany.com:19403',
            username: 'optional-username',
            credential: 'auth-token'
        }
    ]
}

const peerConnection = new RTCPeerConnection(iceConfiguration);