Я пытаюсь создать объект dataview (или uint8array) для буфера массива, в который скопированы данные сообщения.
Я использую «новый DataView (буфер)» для создания представления данных и «новый Uint8Array (буфер)» для создания TypedArray.Ни один из них не производит ничего похожего на то, что, как говорят, будет производиться.
this.socket.onmessage = function(msg){
var buffer = new ArrayBuffer(msg.data.length); // set buffer using the data received
for (let i = 0; i < msg.data.length; i++) // must iterate over the data and buffer (only way to copy one to the other) (no constructor for it)
buffer[i] = msg.data[i];
var dataview = new DataView(buffer, 0, buffer.length); // an arraybuffer is a container with no lid to view what is inside,
var test = dataview.getUint8(2);
var ui8view = new Uint8Array(buffer, 0, buffer.length); // dataview and uint(8,16,etc) objects are what you construct to be able to look into and manipulate the arraybuffer.
for (let i = 0; i < msg.data.length; i++) // must iterate over the data and buffer (only way to copy one to the other) (no constructor for it)
ui8view[i] = msg.data[i];
Очевидно, я хочу иметь возможность навести курсор на мой объект ui8view или dataview и увидеть, что элементы имеют действительные байты, преобразованные вuint8 или что у вас есть в то время.
Проблема в том, что я получаю только набор нулей в массиве uint8, и объект dataview, похоже, даже не создается с буферным объектом.
Буферный объект показывает, что данные там.