WebRTC:数据传输问题
WebRTC: data transfer issue
我正在尝试使用 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-peer
中的 peer.send(data)
和 peer.on('data', callback)
函数,代码非常简单,所以我不知道出了什么问题。
根据 THAT 文章,存在邮件大小限制。
结论是:
All In all, the takeaway is that a 16 Kbyte message size is the one
allowing for the highest throughput, while also being the most
portable one. By the way, in some WebRTC tutorials and literature, the
authors recommend using 16 Kbytes but they don’t tell you why. Well
now you know.
我正在尝试使用 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-peer
中的 peer.send(data)
和 peer.on('data', callback)
函数,代码非常简单,所以我不知道出了什么问题。
根据 THAT 文章,存在邮件大小限制。 结论是:
All In all, the takeaway is that a 16 Kbyte message size is the one allowing for the highest throughput, while also being the most portable one. By the way, in some WebRTC tutorials and literature, the authors recommend using 16 Kbytes but they don’t tell you why. Well now you know.