回合请求中是否应包括眩晕的候选人?

时间:2019-02-06 02:57:43

标签: webrtc stun turn coturn

这里有两个非常相似的问题,但都没有得到回答:

rfc5766-turn-server as TURN and STUN for webrtc application问题1.说“使用rfc5766-turn-server足以充当TURN和STUN服务器,或者我还需要运行电击服务器”。

missing relay candidates from TURN server谈到缺少中继候选人,这是我仅提出turn请求时所看到的效果。

我们为coturn配置了turnsuse-auth-secret,并使用https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/进行测试。

  • 我在没有密码的情况下发出眩晕请求stun:hostname:5349时,看到srflx候选对象(我的外部IP)。
  • 当我提出求助请求turns:hostname:5349[username:password]时,我看到了relay个候选者(TURN服务器的公共地址)。

这看起来不错,但是我是否需要向同一服务器发出2个请求? turn不应该包括stun并给我srflxrelay候选人吗?

  • 我可以将coturn配置为在单个请求中返回两者吗?
  • 还是客户必须同时提出两个请求?是的,使用WebRTC时,所有浏览器都能正确执行此操作吗?

1 个答案:

答案 0 :(得分:2)

如果在客户端中配置了TURN / UDP,则无需将服务器配置为STUN服务器。

翻转UDP将自动返回一个srflx候选对象,您应该能够在the流测试页面上看到它。如果您查看在Wireshark中交换的数据包,您将看到 * STUN绑定请求和包含公共ip的绑定响应,如服务器在xor-mapped-address字段以及 *一个STUN(TURN)分配请求,其响应还包含一个xor-mapped-address

TURN TLS或TURN TCP不会这样做,因为这不适用于udp打孔。