WebRTC dataChannel никогда не открывается

1

Я создал демо на Codepen, он работает на основе https://codelabs.developers.google.com/codelabs/webrtc-web/#0 статьи.

У меня есть две кнопки, которые first выполняются для прослушивания (например, событие join в статье), а второе - создание соединения (например, создание следующего готового события). основная функция выглядит так:

function createPeerConnection(isInitiator, config) {
  console.log('Creating Peer connection as initiator?', isInitiator, 'config:',
              config);
  peerConn = new RTCPeerConnection(config);

  // send any ice candidates to the other peer
  peerConn.onicecandidate = function(event) {
    console.log('icecandidate event:', event);
    if (event.candidate) {
      sendMessage({
        type: 'candidate',
        label: event.candidate.sdpMLineIndex,
        id: event.candidate.sdpMid,
        candidate: event.candidate.candidate
      });
    } else {
      console.log('End of candidates.');
    }
  };

  if (isInitiator) {
    console.log('Creating Data Channel');
    dataChannel = peerConn.createDataChannel('photos');
    onDataChannelCreated(dataChannel);

    console.log('Creating an offer');
    peerConn.createOffer(onLocalSessionCreated, logError);
  } else {
    peerConn.ondatachannel = function(event) {
      console.log('ondatachannel:', event.channel);
      dataChannel = event.channel;
      onDataChannelCreated(dataChannel);
    };
  }
}

но onopen событие на канале данных никогда не выполняется и канал находится в состоянии соединения. Код работает, когда я открываю его на том же компьютере (один в режиме инкогнито) в Chromium.

Серверы Turn and Stun, которые я нашел в Интернете. Есть ли способ проверить, все ли в порядке?

Я тестирую этот код, используя два компьютера, подключенных к одному маршрутизатору, но один использует VPN.

Теги:
webrtc

1 ответ

1
Лучший ответ

1.) Вы можете проверить, правильно ли настроена ваша сеть для вызова с помощью webRTC-тестера: https://test.webrtc.org/

2.) Вы можете проверить, работает ли Turn and Stun Server с помощью: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню