开发webrtc P2P连接报错DOMException: Failed to execute XXXXXX排查及优化

上一篇我们介绍了开发Webrtc建立P2P的流程,根据该流程,我们进行了实际操作,但是在Webrtc P2P连接中,浏览器控制台出现错误信息:

发起端出现错误如下:“DOMException: Failed to execute ‘setRemoteDescription’ on ‘RTCPeerConnection’: Failed to parse SessionDescription.”;

接收端出现错误如下:“DOMException: Failed to execute ‘addIceCandidate’ on ‘RTCPeerConnection’: Error processing ICE candidate”。

 

 

 

 

 

1、分析问题

首先修改js代码进行调试,把从websocket接收到的消息进行打印。

 

打印后出现以下信息:

 

 

 

于是分析打印信息,里面也有对应的sdp等参数,这样把对应的参数设置进webrtc应该是没问题的。因此要继续查看问题所在,把打印继续延伸到对应每个参数中去。

 

这样在浏览器出现的打印数据:

 

 

 

在进行深度打印时,原来设置的SDP参数是base64传递的信息,所以设置js方法时,也是设置的base64参数,才导致报错。

2、解决问题

通过websocket发送消息,把sdp加密成base64给去除,只进行一次总参数的base64加密。

 

 

 

把btoa去除即可,这样二端浏览器即可通话。


 

posted on 2021-06-23 10:06  TSINGSEE  阅读(1454)  评论(0)    收藏  举报