WebRTC: Сбой ICE, добавьте сервер ПОВОРОТА и ознакомьтесь с более подробной информацией о:webrtc

#javascript #webrtc

Вопрос:

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

Мой код для вызывающего абонента и ответчика приведен ниже:

ОШЕЛОМЛЯЮЩИЙ сервер

 const servers = {iceServers: [{urls: ['stun:stun1.l.google.com:19302']}]}
 

Одноранговый узел A (Вызывающий абонент)

 let peer = new RTCPeerConnection(servers)
let chnl = peer.createDataChannel("channel")
chnl.onopen = e => console.log("Connection opened")
chnl.onmessage = e => console.log("New message: "   e.data)
peer.onicecandidate = e => console.log(JSON.stringify(e.candidate))
peer.createOffer().then(offer => peer.setLocalDescription(offer)).then(a => console.log(peer.localDescription))
 

Коллега В (Отвечающий)

 let peer = new RTCPeerConnection(servers)
peer.ondatachannel= e => {
    peer.chnl = e.channel
    peer.chnl.onopen = e => console.log("Connection opened")
    peer.chnl.onmessage = e => console.log("New message: "   e.data)
}
peer.onicecandidate = e => console.log(JSON.stringify(e.candidate))
peer.setRemoteDescription(offer)
peer.createAnswer().then(answer=> peer.setLocalDescription(answer)).then(a => console.log(peer.localDescription))
 

Я запускал этот код на 2 отдельных вкладках консоли Firefox. Я бы скопировал предложение и ответ, зарегистрированные в журнале onicecandidate обратного вызова, и установил их в качестве удаленных описаний ответчика и вызывающего абонента соответственно. В этот момент я бы получил сообщение об ошибке: WebRTC: ICE failed, add a TURN server and see about:webrtc for more details . Я не уверен, как это решить.

Спасибо

Комментарии:

1. Поскольку в сообщении об ошибке вас просят добавить сервер ПОВОРОТА, вы можете выполнить поиск в Google по списку серверов ПОВОРОТА, а затем попытаться добавить его в servers переменную и протестировать.