Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Websocket二进制数据消息(ArrayBuffer)_Javascript_Websocket_Typed Arrays - Fatal编程技术网

Javascript Websocket二进制数据消息(ArrayBuffer)

Javascript Websocket二进制数据消息(ArrayBuffer),javascript,websocket,typed-arrays,Javascript,Websocket,Typed Arrays,据我所知,ArrayBufferlength仅由构造函数设置,不能动态更改。所以我很好奇,是否可以使用websockets二进制数据消息发送数组缓冲区的某个部分,而不是整个缓冲区?您可以使用.slice对数组缓冲区进行切片: 请阅读这些文章,说明规格已更改 Websocket只能发送ArrayBuffer而不能发送Uint8Array或others@Demion:我知道,这里的输入和输出是一个ArrayBuffer(origBuffer和buffer)。@konga raju:谢谢提醒!但是切

据我所知,
ArrayBuffer
length仅由构造函数设置,不能动态更改。所以我很好奇,是否可以使用websockets二进制数据消息发送数组缓冲区的某个部分,而不是整个缓冲区?

您可以使用
.slice
数组缓冲区进行切片:


请阅读这些文章,说明规格已更改


Websocket只能发送ArrayBuffer而不能发送Uint8Array或others@Demion:我知道,这里的输入和输出是一个
ArrayBuffer
origBuffer
buffer
)。@konga raju:谢谢提醒!但是切片会产生新的数组。这是不友好的。有人知道更好的方法吗?
var inputBuffer = new Uint8Array([0, 1, 2, 3, 4]).buffer;
var outputBuffer = inputBuffer.slice(1, 3);

console.log(outputBuffer.byteLength);       // 2
console.log(new Uint8Array(outputBuffer));  // [1, 2]