如何发送JSON中的ArrayBuffer从js客户端到nodejs服务器?

我想发送数据的typesArrayBuffer在JSON到我的服务器使用socket.io像这样:

socket.emit('record', { name: myUsername + '.wav', data: data //arraybuffer }); 

在服务器端,当我在套接字中收到“logging”事件时,我从JSON获取数据并将其保存在名称文件中,如下所示:

 socket.on('record', function(message){ var fileWriter = new wav.FileWriter(message.name, { channels: 1, sampleRate: 48000, bitDepth: 16 }); message.data.pipe(fileWriter); }); 

我使用npm的require('wav')require('stream')包。 问题是我的服务器崩溃message.data.pipe(fileWriter); 有这个错误:

 TypeError: message.data.pipe is not a function 

我究竟做错了什么? 我不能在socket.io中像这样发送ArrayBuffer吗?

data是一个ArrayBuffer ,而不是一个ReadableStream 。 将要读取的data .pipeThrough() ReadableStream ,并传递给WritableStreamTransformStream ,例如使用.pipeThrough() ,请参阅通过stdin接收数据并将其存储为variables/数组 。