Webrtc добавляет ледового кандидата в удаленный узел - PullRequest
0 голосов
/ 24 мая 2018

Ниже приведен пример кода однорангового соединения webrtc из google webrtc tutorilal. эта ссылка. Я не мог правильно понять, как addIceCandidate () добавляет своего кандидата Ice к своему удаленному пиру, используя onIceCandidate ().что означает event.candidate здесь.Было бы желательно получить четкое объяснение

function onIceCandidate(pc, event) {   //pc1.onicecandidate
  if (event.candidate) {
    getOtherPc(pc).addIceCandidate(
      new RTCIceCandidate(event.candidate)
    ).then(
      function() {
        onAddIceCandidateSuccess(pc);
      },
      function(err) {
        onAddIceCandidateError(pc, err);
      }
    );

1 Ответ

0 голосов
/ 24 мая 2018

Когда узел A обнаружил кандидата ICE (потенциальный маршрут, который можно использовать для связи), он должен отправить этого кандидата ICE узлу B (и наоборот).Узел B затем добавляет этого кандидата ICE к своему соединению.Оба партнера обмениваются кандидатами ICE таким образом, пока не найдут оптимальный маршрут, который оба могут использовать для прямой связи друг с другом.

В этом простом примере узлы A и B, по-видимому, находятся в одной машине,таким образом, (фиктивная) функция getOtherPc может получить дескриптор "другого партнера", и вы можете напрямую использовать ее метод addIceCandidate.Однако на практике вам нужно будет отправить этого кандидата на ICE, используя сервер сигнализации ;какой-то другой способ, которым узел может обмениваться информацией по сети.Обычно этот сигнальный сервер использует соединение через веб-сокет, через которое можно передавать информацию почти в реальном времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...