问题描述
我不熟悉WebRTC和triyng来创建我的第一个应用程序。我找到了这篇文章https://www.tutorialspoint.com/webrtc/webrtc_quick_guide.htm,并按照那里所说的去做。如果我在Chrome中进行了测试,则生成的应用程序可以正常运行。但是,当我尝试在2种浏览器(Chrome和Mozilla)中测试此应用时,会出现此错误:
未捕获(承诺)的DOMException:无法执行 'RTCPeerConnection'上的'setRemoteDescription':会话错误代码: ERROR_CONTENT。会话错误描述:数据通道类型不匹配。 预期的RTP,得到了SCTP。
当我从Mozilla客户端发送报价并且Chrome客户端试图在此部分代码中对此报价给出答案时,就会发生这种情况:
myConnection.setRemoteDescription(new RTCSessionDescription(offer));
myConnection.createAnswer(function (answer) {
myConnection.setLocalDescription(answer);
send({
type: "answer",answer: answer
});
},function (error) {
alert("oops...error"); //<-- this alert fires all the time
});
我已经对此进行了搜索,发现的所有内容都设置为new RTCPeerConnection(configuration,{ optional: [{RtpDataChannels: false}] })
,但是如果我这样做了,那么当我尝试发送一条消息时,它说未打开dataChannel.readyState。
我做错了什么?任何帮助!
谢谢!
解决方法
删除optional: [{RtpDataChannels: true}]
,然后等待datachannel.onopen事件触发,然后再尝试发送消息。