gpt4 book ai didi

tcp - WebRTC 使用 TCP 还是 UDP?

转载 作者:可可西里 更新时间:2023-11-01 02:28:40 26 4
gpt4 key购买 nike

我有一些关于 WebRTC 的问题:

  1. WebRTC 是使用 TCP 还是 UDP 作为其点对点传输?我怎样才能知道吗?
  2. 我看到有可靠性模式和DTLS协议(protocol),怎么办这些影响?
  3. Media 和 DataChannel 的这种传输方式是否相同?
  4. 如何在 TCP 和 UDP 之间切换?

我问这个是因为我知道浏览器对并行连接的数量有限制(我认为他们通过 TCP 进行通信),也许 UDP 连接不受限制。

最佳答案

  1. 两者都可以。默认情况下,优先使用 UDP,但取决于连接的对等点之间的防火墙,它可能只能使用 TCP 连接。您可以使用 Wireshark捕获数据包并验证是否正在使用 TCP 或 UDP。在 Chrome 中,您还可以通过转到 chrome://webrtc-internals 查看有关所选候选 (googActiveConnection) 的详细信息。

  2. “可靠性模式”大概是指DataChannel的可靠性模式,可以配置为在可靠或不可靠模式下运行。 DTLS指的是当前可选的,但是soon to be default method交换加密 key (另一种弃用模式是 SDES)。 Firefox 仅支持 DTLS,因此对于浏览器互操作,您目前需要 enable it in Chrome .

  3. RTCPeerConnection(媒体)将使用 TCP 或 UDP,而 DataChannel 使用 SCTP。 Firefox 使用的 SCTP 实现是在 UDP 之上实现的:https://code.google.com/p/sctp-refimpl/ .

  4. 可以在使用 addIceCandidate 添加之前过滤掉 TCP 或 UDP ICE 候选者.通常,您不应尝试强制使用传输方式,因为 WebRTC 只会“做正确的事”。浏览器不会限制 WebRTC 使用的 TCP 连接数超出 RTCPeerConnection 或 DataChannel 的任何限制(即,如果您可以有 10 个 PeerConnection,它们都可以毫无问题地使用 TCP)。

关于tcp - WebRTC 使用 TCP 还是 UDP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18897917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com