收集 ice 候选者有效但无法连接

问题描述

我有两个不同的 WebRTC 客户端:一个 Android 设备和一个 angular 应用程序。我设置了一个转身和眩晕服务器,两者似乎都适用于 trickle ice testerwebrtc tester

正如你在这里看到的:

trickle ice results

webrtc test results

但是当我在 about:webrtc 中查看候选人时,Firefox 中的所有 ice 候选人都失败了。

ice candidates in Firefox

有没有人解释一下?
更多信息:

解决方法

我的 Android 应用出现了一个简单的错误。当从信令服务器接收到一个 ice 候选时,我做了以下事情:

peerConnection.AddIceCandidate(new IceCandidate(sdpCandidate,sdpMLineIndex,sdpMid));

但正如文档所述,您必须按以下顺序创建一个 ice 候选对象:

public IceCandidate(string sdpMid,int sdpMLineIndex,string sdp);

所以我调转了 sdpCandidatesdpMid 来解决这个问题。

peerConnection.AddIceCandidate(new IceCandidate(sdpMid,sdpCandidate));