1

我想要流很多 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"); 我没有问题,可以取回所有数据。

为什么会这样?谢谢 :)

4

1 回答 1

1

通过将 binaryType 设置为 arraybuffer 解决了问题。

var myWebSocket = new WebSocket("ws://127.0.0.1");
myWebSocket.binaryType = "arraybuffer";
于 2014-07-19T14:10:09.747 回答