我想要流式传输大量的ArrayBuffers。
从客户端向服务器发送字符串并返回是没问题的!
将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);
});
});
此日志:ArrayBuffer {}
所以没有数据:(
我使用以下命令发送数据:wsStream.write(arrayBuffer);
如果我发送一些数组wsStream.write([0,2]);或者一些字符串wsStream.write(" Hello");我没有问题,并将所有数据都恢复。
为什么会这样?谢谢:))
答案 0 :(得分:1)
通过将binaryType设置为arraybuffer来解决问题。
var myWebSocket = new WebSocket("ws://127.0.0.1");
myWebSocket.binaryType = "arraybuffer";