我正在尝试通过socket.io向我的浏览器发送一个Buffer.据说这是从1.0开始支持的.
服务器代码:
var tempBuffer = new Buffer(10);
for (var i=0; i<10; i++) {
tempBuffer[i] = i;
}
io.sockets.emit('updateDepth', { image: true, buffer: tempBuffer });
Run Code Online (Sandbox Code Playgroud)
客户代码:
socket.on('updateDepth', function(data) {
console.log("update depth: " + data.buffer + ", " + data.buffer.length);
});
Run Code Online (Sandbox Code Playgroud)
除了data.buffer是一个ArrayBuffer(不是Buffer)并且长度未定义(ArrayBuffer似乎不包含任何东西)之外,客户端上的一切看起来都很好.
我错过了一些明显的东西,或者这不是它应该如何工作?非常感谢!
Buffer是一个节点,浏览器没有本机支持,但它们确实支持类型化数组(比缓冲区垫片更好)。因此在浏览器端使用更好的容器是有意义的。