Ho cercato su Google questo e guardandomi attorno a StackOverflow per un po 'ma non ho trovato una soluzione - da qui il post.Streaming Binary con Node.js e WebSockets
Sto giocando con Node.js e WebSockets per curiosità. Sto cercando di trasmettere alcuni dati binari (un mp3) al client. Il mio codice finora è sotto ma ovviamente non funziona come previsto.
Sospetto che il mio problema è che in realtà non sto inviando dati binari dal server e vorrei qualche chiarimento/aiuto.
Heres mio server ...
var fs = require('fs');
var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({port: 8080,host:"127.0.0.1"});
wss.on('connection', function(ws) {
var readStream =
fs.createReadStream("test.mp3",
{'flags': 'r',
'encoding': 'binary',
'mode': 0666,
'bufferSize': 64 * 1024});
readStream.on('data', function(data) {
ws.send(data, {binary: true, mask: false});
});
});
e il mio cliente ...
context = new webkitAudioContext();
var ws = new WebSocket("ws://localhost:8080");
ws.binaryType = 'arraybuffer';
ws.onmessage = function (evt) {
context.decodeAudioData(
evt.data,
function(buffer) {
console.log("Success");
},
function(error) {
console.log("Error");
});
};
La chiamata di decodificare sempre finiscono nella richiamata errore. Presumo questo perché riceve dati errati.
Quindi la mia domanda è come eseguire correttamente il flusso del file come file binario?
Grazie
Potete prego fornire piena esempio o il codice per questo come sto imparando node.js e prese web e le mie esigenze sono anche stessi –