Каков механизм настройки WebRTC?
Я пытаюсь создать видеочат, но не могу понять какой-то фрагмент кода: Я нашел эту часть кода из WEBRTC. Образец ссылки: - https://github.com/webrtc/samples/commit/ecca1124803688bf512874188624f6d4538f69d0
var servers = null;
pc1 = new RTCPeerConnection(servers);
trace('Created local peer connection object pc1');
pc1.onicecandidate = function(e) {
onIceCandidate(pc1, e);
};
pc2 = new RTCPeerConnection(servers);
trace('Created remote peer connection object pc2');
pc2.onicecandidate = function(e) {
onIceCandidate(pc2, e);
};
pc1.oniceconnectionstatechange = function(e) {
onIceStateChange(pc1, e);
};
pc2.oniceconnectionstatechange = function(e) {
onIceStateChange(pc2, e);
};
pc2.ontrack = gotRemoteStream;
Что происходит, когда я прохожу null
значение для RTCPeerConnection()
?
1 ответ
Конструктор RTCPeerConnection принимает объект конфигурации. Среди прочего, одна из конфигураций, требуемых большинством приложений, будет iceServers
,
iceServers
список серверов STUN или TURN Например, ваш конструктор может выглядеть так:
var configuration = {
"iceServers": [{ "urls": ["stun:stun.1.google.com:19302"] }]
};
myConnection = new RTCPeerConnection(configuration);
Проще говоря, эти серверы STUN и TURN помогают двум партнерам находить прямой путь друг к другу. Однако, когда вы пропускаете серверы, это означает, что приложение сможет обнаруживать одноранговый узел только внутри интрасети или, по существу, внутри набора устройств, с которым ваш компьютер может взаимодействовать напрямую. [Нужна цитата]
В любом производственном приложении вам, скорее всего, придется добавить серверы STUN и TURN. Но так как вы ссылаетесь на код из учебника, где соединение через интернет не требуется, вы можете пропустить серверы.