【问题标题】:WebRTC: data transfer issueWebRTC:数据传输问题
【发布时间】:2019-03-09 19:48:51
【问题描述】:

我正在尝试使用 WebRTC 和 simple-peer 包发送 ArrayBuffer。我遇到了这些问题:

  • 另一个浏览器接收到几个带有 Uint8Arrays 的事件,这些事件是原始 ArrayBuffer 的一部分。每个 Uint8Array 的长度不大于 262528。当我将大型 ArrayBuffer 从 chrome 发送到 chrome 时会发生这种情况。
  • 当我将大型 ArrayBuffer 从 firefox 发送到 chrome 时,我在发件人浏览器上收到 TypeError: The expression cannot be converted to return the specified type. 错误。

但在以下情况下一切都很好:

  • ArrayBuffer 长度很小。
  • 当我将数据从 chrome 发送到 firefox 时。

我使用来自simple-peerpeer.send(data)peer.on('data', callback) 函数,代码非常简单,所以我不知道出了什么问题。

【问题讨论】:

  • 我在跟踪它何时工作以及何时不工作时遇到了麻烦。你能改写成一个问题吗?你是specifyingbinaryType吗?
  • 我使用的是simple-peer,所以它为我指定了binaryType。我已经找到了问题的原因,并在下面给出了答案。原因是消息大小限制。

标签: javascript webrtc simple-peer


【解决方案1】:

根据THAT 文章,有消息大小限制。 结论是:

总而言之,外卖是 16 KB 的消息大小是 允许最高的吞吐量,同时也是最 便携式的。顺便说一句,在一些 WebRTC 教程和文献中, 作者建议使用 16 KB,但他们没有告诉你原因。好 现在你知道了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多