我想流式传输大量的arraybuffer .
-
从客户端发送字符串到服务器并返回是没有问题的!
-
向服务器发送ArrayBuffer没有问题
从服务器发送ArrayBuffer到客户端不工作。我得到一个空的ArrayBuffer在客户端=> ArrayBuffer{}
服务器:var server = BinaryServer({port: 9000});
server.on('connection', function(client){
client.on('stream', function(stream, meta){
console.log(meta);
stream.on('data', function(data){
//console.log(data);
stream.write(data);
});
});
});
console.log(data)向我显示填充的数组,所以这是可行的。
客户:var wsStream = null;
var client = BinaryClient('ws://localhost:9000');
client.on('open', function(){
wsStream = client.createStream("audio");
wsStream.on('data', function(data){
console.log(data);
});
});
this logs: ArrayBuffer {}
so no data:(
我发送的数据:wsStream.write(arrayBuffer);
如果我发送一些数组wsStream.write([0,2]);或者一些字符串wsStream.write("Hello");我没有问题,我得到了我所有的数据。
为什么会发生这种情况?谢谢:)
将binaryType设置为arraybuffer解决问题。
var myWebSocket = new WebSocket("ws://127.0.0.1");
myWebSocket.binaryType = "arraybuffer";