在webRTC中,当sdp交换完成后,websocket的作用就结束了吗?

In webRTC,When the sdp exchange is completed, is the role of websocket finished?

据我所知,信令服务器的作用是在你要与之通信的网络浏览器之间交换sdp。

我理解的过程如下

  1. Web浏览器通过websocket将sdp传递给信令服务器
  2. 服务器将彼此的 sdp 传递回网络浏览器。
  3. 传输完成后,关闭网络套接字。
  4. 之后,Web 浏览器可以在没有信令服务器的情况下相互通信

我做对了吗?

这取决于您使用的是 vanilla 还是 trickle ICE。

在 trickle ICE 中,ICE 候选者不会通过 STUN 被发现,例如,在发送 SDP 之前。在这种情况下,您的 webRTC 端点可能无法通信,因为它们还无法相互通信。信令层仍然需要中继 ICE 候选者以建立对等连接。一旦建立对等连接,就不再需要信令。我见过的大多数实现都使用 trickle ICE,因为它通常会减少建立对等连接的延迟。

在香草 ICE 中,ICE 候选者在发送 SDP 之前被发现。在这种情况下,发送 SDP 后信令就完成了。