WebRTC The ICE candidate could not be added

匿名 (未验证) 提交于 2019-12-03 08:28:06

问题:

I am trying to establish a p2p audio/video connection b/w two peers. Following: Getting started with WebRTC.

It works fine at my home in LAN Environment between 2 PCs, but throws an error message when running at my company's LAN Environment, there is part the javascript

function processSignalingMessage(message) {         var msg = JSON.parse(message);          if (msg.type === 'offer') {             // Callee creates PeerConnection             if (!initiator && !started)                 maybeStart();              // We only know JSEP version after createPeerConnection().             if (isRTCPeerConnection)                 pc.setRemoteDescription(new RTCSessionDescription(msg));             else                 pc.setRemoteDescription(pc.SDP_OFFER,                         new SessionDescription(msg.sdp));              doAnswer();         } else if (msg.type === 'answer' && started) {             pc.setRemoteDescription(new RTCSessionDescription(msg));         } else if (msg.type === 'candidate' && started) {             var candidate = new RTCIceCandidate({                 sdpMLineIndex : msg.label,                 candidate : msg.candidate             });             pc.addIceCandidate(candidate);         } else if (msg.type === 'bye' && started) {             onRemoteHangup();         }     } 

when the first user recieved message "type":"candidate",get wrong

and part of the console log:

  • Creating PeerConnection
  • Created webkitRTCPeerConnnection with config "{"iceServers":[{"url":"stun:stun.l.google.com:19302"}]}"
  • Adding local stream
  • Sending answer to peer
  • recieved message : {"type":"candidate","label":0,"id":"audio","candidate":"a=candidate:1613033416 1 udp 2113937151 192.168.1.233 56946 typ host generation 0\r\n"}
  • Uncaught SyntaxError: Failed to execute 'addIceCandidate' on 'RTCPeerConnection': The ICE candidate could not be added
  • recieved message : {"type":"candidat".......}
  • Uncaught SyntaxError: Failed to execute 'addIceCandidate' on 'RTCPeerConnection': The ICE candidate could not be added
  • recieved message : {"type":"candidat".......}
  • Uncaught SyntaxError: Failed to execute 'addIceCandidate' on 'RTCPeerConnection': The ICE candidate could not be added

回答1:

I think you can create the ICE candidate message by using just the msg.candidate,

var candidate = new RTCIceCandidate(msg.candidate); 

And pass that into the addIceCandidate function



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!