2013-08-11 5 views

ответ

8

Когда вы устанавливаете соединение WebRTC, вы устанавливаете STUN и/или TURN для использования веб-браузера. Если вы сообщите обозревателю обоим параметрам, веб-браузер начнет сначала использовать STUN. Затем, в случае неудачи, он попытается использовать TURN.

«Релейный сервер» - это TURN-сервер.

Как я знаю, нет стандартного способа узнать, какой вариант веб-браузер решил использовать: STUN или TURN.

В другой руке, если вы являетесь владельцем сервера TURN, вы можете увидеть, действительно ли он использует его или нет, а затем отправить эту информацию клиенту.

ОБНОВЛЕНО

Это мой код: https://github.com/fycth/webrtcexample/blob/master/www/js/rtc_lib.js

Вы можете видеть, что я использую только STUN сервер, так что p2p или ничего, и не реле.

+0

А, так что мне просто нужно уйти сервер TURN и сервер ретрансляции будут использоваться, и я получаю реальный p2p или ничего? –

+1

Да, вы можете передать RTCPeerConnection только сервер STUN (без TURN). В этом случае он попытается использовать p2p без реле. – fycth

+1

Установка только сервера TURN не обязательно означает, что TURN будет использоваться, и медиа будет ретранслироваться, так как большинство реализаций серверов TURN также предоставят подавляющим кандидатам приложение. Чтобы заставить приложение использовать реле, вам нужно отфильтровать список кандидатов из SDP и разрешить только реле. – nakib

1

В хромированном состоянии. перейдите к chrome: // webrtc-internals, перейдите к следующему соединению-googCandidate pair (черными буквами) проверьте, является ли googLocalcandidatetype реле, тогда webrtc использует соединение ретрансляции. Если googLocalcandidatetype является локальным, тогда он использует одноранговое соединение В firefox перейдите к: webrtc, если в успешном соединении содержится любой кандидат как relayed-udp, тогда webrtc использует соединение реле

Смежные вопросы