Каков механизм настройки 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. Но так как вы ссылаетесь на код из учебника, где соединение через интернет не требуется, вы можете пропустить серверы.

Другие вопросы по тегам