收集冰候选者有效但无法连接
Gathering ice candidates works but failing to connect
我有两个不同的 WebRTC 客户端:一个 Android 设备和一个 angular 应用程序。我设置了一个 turn and stun 服务器,两者似乎都适用于 trickle ice tester and the webrtc tester.
如您所见:
但是当我在 about:webrtc
中查看候选时,所有 ice 候选都在 Firefox 中失败。
有人对此有解释吗?
更多信息:
- GoogleChrome中也出现了类似的错误,但日志来自 Firefox,因为 Firefox 具有更好的日志记录。
- 设备在不同的网络,所以主机请求应该失败,需要转向服务器。
- 转服是coturn转服,不过我也用Pion转服试过,也是一样的结果。
- Firfox 日志:https://gist.github.com/Nick-v-L/365b7da10039d28a6a23a27fea15df52
- Coturn 日志:https://gist.github.com/Nick-v-L/04c3cfc677847e3cdcb7f6b5ca15c743
我的 Android 应用中出现了一个简单的错误。当从信令服务器接收到 ice candidate 时,我做了以下操作:
peerConnection.AddIceCandidate(new IceCandidate(sdpCandidate, sdpMLineIndex, sdpMid));
但是正如文档所述,您必须按以下顺序创建冰候选对象:
public IceCandidate(string sdpMid, int sdpMLineIndex, string sdp);
所以我调转 sdpCandidate
和 sdpMid
来解决这个问题。
peerConnection.AddIceCandidate(new IceCandidate(sdpMid, sdpMLineIndex, sdpCandidate));
我有两个不同的 WebRTC 客户端:一个 Android 设备和一个 angular 应用程序。我设置了一个 turn and stun 服务器,两者似乎都适用于 trickle ice tester and the webrtc tester.
如您所见:
但是当我在 about:webrtc
中查看候选时,所有 ice 候选都在 Firefox 中失败。
有人对此有解释吗?
更多信息:
- GoogleChrome中也出现了类似的错误,但日志来自 Firefox,因为 Firefox 具有更好的日志记录。
- 设备在不同的网络,所以主机请求应该失败,需要转向服务器。
- 转服是coturn转服,不过我也用Pion转服试过,也是一样的结果。
- Firfox 日志:https://gist.github.com/Nick-v-L/365b7da10039d28a6a23a27fea15df52
- Coturn 日志:https://gist.github.com/Nick-v-L/04c3cfc677847e3cdcb7f6b5ca15c743
我的 Android 应用中出现了一个简单的错误。当从信令服务器接收到 ice candidate 时,我做了以下操作:
peerConnection.AddIceCandidate(new IceCandidate(sdpCandidate, sdpMLineIndex, sdpMid));
但是正如文档所述,您必须按以下顺序创建冰候选对象:
public IceCandidate(string sdpMid, int sdpMLineIndex, string sdp);
所以我调转 sdpCandidate
和 sdpMid
来解决这个问题。
peerConnection.AddIceCandidate(new IceCandidate(sdpMid, sdpMLineIndex, sdpCandidate));