Ich versuche, einen Puffer zu meinem Browser über socket.io zu senden. Angeblich wird dies ab 1.0 unterstützt.Problem mit Sendepuffer über Socket.IO
Server Code:
var tempBuffer = new Buffer(10);
for (var i=0; i<10; i++) {
tempBuffer[i] = i;
}
io.sockets.emit('updateDepth', { image: true, buffer: tempBuffer });
Code Auftraggeber:
socket.on('updateDepth', function(data) {
console.log("update depth: " + data.buffer + ", " + data.buffer.length);
});
Alles sieht gut aus auf der Client-Seite, außer dass data.buffer ist ein Arraybuffer (kein Puffer) und die Länge ist nicht definiert (der ArrayBuffer scheint nichts zu enthalten).
Fehle ich etwas offensichtlich oder ist es nicht so, wie es funktionieren soll? Danke vielmals!
Die operative Frage ist, ob 'socket.io' wirklich zu handhaben ist ausgestattet Senden und Empfangen von binären Daten? Die Beispiele, die ich gesehen habe, waren immer Strings oder JSON (andere Sachen, die in eine Saite umgewandelt wurden), aber ich weiß nicht, was die Fähigkeiten von 'socket.io' in dieser Hinsicht sind. – jfriend00
Sie können keinen binären Puffer über Socket io senden. Werfen Sie einen Blick auf [BinaryJS] (http://binaryjs.com/) –
Sie könnten Base64 codieren Sie Ihren Puffer und senden Sie diese Zeichenfolge. – jfriend00