Appending ArrayBuffers 追加 ArrayBuffers
- 论坛
- Appending ArrayBuffers 追加 ArrayBuffers
8 浏览
Appending ArrayBuffers 追加 ArrayBuffers
如何更好地追加/合并ArrayBuffers?
我正在接收和解析包含各种数据结构的网络数据包。传入的消息被读入ArrayBuffers。如果接收到部分数据包,我需要将其存储起来,并在下一条消息到达之前等待,然后重新尝试解析。
目前,我正在这样做:
function appendBuffer( buffer1, buffer2 ) { var tmp = new Uint8Array( buffer1.byteLength + buffer2.byteLength ); tmp.set( new Uint8Array( buffer1 ), 0 ); tmp.set( new Uint8Array( buffer2 ), buffer1.byteLength ); return tmp.buffer; }
显然,由于ArrayBuffers具有固定的长度,无法避免创建新的缓冲区,但是是否需要初始化类型化数组呢?在接收到数据后,我只希望能够将缓冲区视为缓冲区;类型和结构不是问题。