【问题标题】:Is the ID of a RTCDataChannels global or specific to a RTCPeerConnection?RTCDataChannels 的 ID 是全局的还是特定于 RTCPeerConnection?
【发布时间】:2016-12-09 20:16:23
【问题描述】:

RTCDataChannels 的 ID 是全局的还是特定于 RTCPeerConnection?

例如,如果我有一个 p1 和 p2,两个对等连接,我可以在每个 id 为 7 的连接上创建一个数据通道,否则它们会发生冲突吗?

我已经在 Chrome 上使用 webrtc shim 进行了尝试,似乎 id 特定于 RTCPeerConnection。但是,我无法找到规范中指定的位置...

有人知道吗?

【问题讨论】:

    标签: google-chrome firefox webrtc


    【解决方案1】:

    id 来自连接的传输层。它是一个介于 0 和 65534 之间的数字,并且仅对该连接(通信的一对 RTCPeerConnections)是唯一的。

    请参阅https://www.ietf.org/id/draft-ietf-rtcweb-data-protocol-09.txt 第 3 节中的“流标识符”

    但是有一个解决方法。你可以用createDataChannel指定你自己的ID:

    let channel = createDataChannel("foo", { id: 3 });
    

    因此,如果您愿意的话,您可以使用 localStorage 让它们在您的应用中保持唯一(当然,在一定程度上)。

    换句话说,你不必担心 RTCPeerConnections 之间的冲突,除非它们是同一个连接的两端。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-13
      • 2012-07-03
      • 1970-01-01
      • 2021-04-28
      • 1970-01-01
      相关资源
      最近更新 更多