Stream ArrayBuffer websocket binary.js



我想流式传输大量的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";

相关内容

  • 没有找到相关文章

最新更新