我試圖通過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