如果我正在接收中继候选人,我正在使用此页面:http://googlechrome.github.io/webrtc/samples/web/content/peerconnection/trickle-ice/。要从chrome 40进行测试,我提供了我的回合网址和凭据。点击收集候选人后,我看不到中继候选人。从firefox 36做同样的测试,我找到了接力候选者。可能出现什么问题?为了进一步调查这个问题,我查看了wireshark日志。我发现,从firefox中,眩晕请求格式包括 -
STUN 146 Allocate Request UDP lifetime: 3600 user: lazy realm: with nonce
但是从chrome来看,这有点不同 -
STUN 70 Allocate Request UDP
似乎请求代码不一样。此外,chrome的请求不包括生命周期,用户和领域属性。
答案 0 :(得分:1)
我知道问题已经有点旧了,但根据我的经验,TURN服务器描述格式(关于身份验证)必须在Chrome和Firefox中以不同的格式进行格式化。
对于Chrome,你可以使用:{" url":"转:user@turn.example.com" ;,凭证:"密码"},
对于Firefox,格式为: {" url":"转:turn.example.com",' hasCredentials':true,用户名:"用户",凭据:& #34;密码"},
也许您可以查看来源以了解示例中如何设置转弯服务器。
编辑: 意味着服务器列表的格式在规范中已更改(https://www.w3.org/TR/webrtc/#rtciceserver-dictionary)。目前我所知道的所有实现都支持以下格式:
{ "urls": ["turns:turn.example.org", "turn:turn.example.net"],
"username": "user",
"credential": "myPassword",
"credentialType": "password"
}
On Edge但是你似乎需要在网址中包含查询字符串?transport = udp。