http://blog.mgechev.com/2015/02/06/parsing-binary-protocol-data-javascript-typedarrays-blobs/
https://github.com/novnc/websockify
ws.binaryType = "blob";
// or
ws.binaryType = "arraybuffer";
var pixels=16,
a=new Uint8Array(pixels*3),
l=pixels*1;
while(l--){
a[l*3]=255;//red
a[l*3+1]=0;//green
a[l*3+2]=0;//blue
}
ws.send(a.buffer);
// 使用ArrayBuffer发送canvas图像数据
var
img = canvas_context.getImageData(0, 0, 400, 320);
var
binary =
new
Uint8Array(img.data.length);
for
(
var
i = 0; i < img.data.length; i++) {
binary[i] = img.data[i];
}
connection.send(binary.buffer);
// 使用Blob发送文件
var
file = document.querySelector(‘input[type=”file”]').files[0];
connection.send(file);
function valueToByteArray(value, bytes_length) { var bytes_array = []; while (bytes_length > 0){ var byte = value & 0xFF; value >>= 8; bytes_length--; bytes_array.push(byte); } return bytes_array.reverse(); }