我试图通过socket.io向我的浏览器发送缓冲区。据说这从1.0开始支持。通过Socket.IO发送缓冲区问题
Server代码:
var tempBuffer = new Buffer(10);
for (var i=0; i<10; i++) {
tempBuffer[i] = i;
}
io.sockets.emit('updateDepth', { image: true, buffer: tempBuffer });
客户端代码:
socket.on('updateDepth', function(data) {
console.log("update depth: " + data.buffer + ", " + data.buffer.length);
});
一切看起来都对,只是data.buffer客户端好是一个ArrayBuffer(未缓冲)和长度是不确定的( ArrayBuffer似乎不包含任何东西)。
我错过了一些明显的东西,或者这不是它应该如何工作?非常感谢!
手术的问题是'socket.io'真的有能力处理发送和接收二进制数据的?我见过的例子一直是字符串或JSON(其他东西变成了字符串),但我不知道'socket.io'在这方面的功能是什么。 – jfriend00 2014-10-21 23:44:10
你不能通过socket io发送一个二进制缓冲区。看看[BinaryJS](http://binaryjs.com/) – 2014-10-21 23:52:11
你可以base64编码你的缓冲区并发送该字符串。 – jfriend00 2014-10-22 00:35:02