2013-11-14 103 views
1

我在使用chrome浏览器v30运行我自己的webrtc演示代码时遇到了麻烦。但代码完全适用于Firefox。 onicecandidate事件在该报价被其他同行接受之前正在触发。另一方面,对等连接仅在接受报价后才创建。由于这个,当onicecandidate被触发时,在接收端以对等连接结束null错误。 据我明白我的代码的的WebRTC和流量是
步骤1:呼叫者按下呼叫按钮
步骤2:getUsermedia将被称为
步骤3:对等连接将被创建
步骤4:报价将被发送到呼叫者
步骤5:提供将被显示给呼叫者
步骤6:对等连接将创建答案
步骤8:答案发送给主叫方接受呼叫
步骤7之后才创建对等体连接呼叫者
步骤9:ca米勒将发送icecandidates的被调用
步骤10:被叫方将发送icecandidates呼叫者onicecandidate事件在答复前被解雇

与上述流的问题是,被叫侧对等连接上的用户接受报价之后才产生。但是在创建优惠之后,在接受优惠之前的来电方中,候选人名单将被发送给呼叫者。来电方这是导致空错误。

我粘贴调试运行日志引擎收录: - pastebinDOTcom/gMgaxbBp

请我这个问题的解决方案。

回答

1

我想出了我的自我。问题实际上是在对等连接本地描述设置后立即显示,它将开始收冰。我们只有在提供/答案完成后才需要转发这些冰块候选人。 util我们需要以某种方式在本地存储。这段代码完全适用于Firefox的原因是在Firefox中icecandidates将被收集并放入报价中。所以icecandidate交换提供/回答本身。

0

我想早些时候创建回答者PeerConnection - 至少在Firefox上它可以让它开始收集ICE候选人并加速连接;我认为它会解决你的问题。