gpt4 book ai didi

javascript - 通过 WebRTC 数据通道发送带有元数据的文件 block

转载 作者:行者123 更新时间:2023-11-28 01:16:28 26 4
gpt4 key购买 nike

我有一个文件分块操作,它通过文件读取器将文件拆分为通过 readAsArrayBuffer 读取的切片。我想通过我的数据通道一次发送一个附加元信息的 block (例如 block ID)。喜欢:

// Build chunk wrapper
var block = {
chunkId: id,
data: buffer
};

// Send the chunk to peer
channel.send(JSON.stringify(block));

现在,当我发送上面演示的数据时,ArrayBuffer buffer 中的数据就会丢失。我想强调的是,我在通过数据通道发送数据时没有遇到任何问题。

我想知道如何发送该数据及其关联的元信息,以便文件 block 可以在另一端以正确的顺序重新组装?

我是否需要做一些事情,例如使用两个子数组创建一个 ArrayBuffer,一个包含元信息,另一个包含实际数据,或者是否有更简单的方法?

最佳答案

有很多方法可以解决这个问题,但基本上您需要序列化、编码和反序列化、解码数据。
如果您想随数据一起发送元数据,则需要将两者序列化为 uint8array 或字符串,并在接收方执行相反的操作。
例如 Sharefest 使用 TLV 协议(protocol):https://github.com/Peer5/ShareFest/blob/master/core/protocol/BinaryProtocol.js

关于javascript - 通过 WebRTC 数据通道发送带有元数据的文件 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23789368/

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