2011-12-07 37 views
5

Theo tôi được biết ArrayBuffer chiều dài được thiết lập chỉ bởi constructor và không thể thay đổi năng động. Vì vậy, tôi tò mò, là nó có thể sử dụng websockets dữ liệu nhị phân tin nhắn gửi mảngbộ phận nhất định, không phải toàn bộ bộ đệm?WebSocket thông điệp dữ liệu nhị phân (ArrayBuffer)

+0

cũng thấy DataView() – Zaffy

Trả lời

2

Bạn có thể sử dụng .slice để cắt một ArrayBuffer: http://jsfiddle.net/rtaB4/21/.

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] 
+0

WebSocket chỉ có thể gửi ArrayBuffer không Uint8Array hoặc những người khác – Demion

+1

@Demion: Tôi biết, đầu vào và đầu ra là một 'ArrayBuffer' đây ('origBuffer' và 'buffer'). đặc điểm kỹ thuật – pimvdb

+0

@pimvdb thay đổi cập nhật câu trả lời –

Các vấn đề liên quan