Sto provando a inviare un buffer al mio browser tramite socket.io. Presumibilmente questo è supportato a partire da 1.0.Problema con buffer di invio su Socket.IO
codice del server:
var tempBuffer = new Buffer(10);
for (var i=0; i<10; i++) {
tempBuffer[i] = i;
}
io.sockets.emit('updateDepth', { image: true, buffer: tempBuffer });
Codice cliente:
socket.on('updateDepth', function(data) {
console.log("update depth: " + data.buffer + ", " + data.buffer.length);
});
Tutto sembra buono sul lato client se non che è un data.buffer ArrayBuffer (non un buffer) e la lunghezza non è definito (l'ArrayBuffer non sembra contenere nulla).
Mi manca qualcosa di ovvio o non è come dovrebbe funzionare? Grazie molto!
La questione operativa è se 'socket.io' è davvero in grado di gestire l'invio e la ricezione di dati binari? Gli esempi che ho visto sono sempre stati stringhe o JSON (altre cose trasformate in una stringa), ma non so quali siano le capacità di 'socket.io' in questo senso. – jfriend00
Non puoi inviare un buffer binario sul socket io. Dai un'occhiata a [BinaryJS] (http://binaryjs.com/) –
Potresti codificare il buffer in base64 e inviare quella stringa. – jfriend00