Google is committed to advancing racial equity for Black communities. See how.
Эта страница переведена с помощью Cloud Translation API.
Switch to English

TURN сервер

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

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

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

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

const peerConnection = new RTCPeerConnection(iceConfiguration);