我要流很多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”);我没有问题,可以恢复所有数据。

为什么会这样呢?谢谢 :)

最佳答案

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

var myWebSocket = new WebSocket("ws://127.0.0.1");
myWebSocket.binaryType = "arraybuffer";

关于javascript - 流ArrayBuffer websocket binary.js,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23969608/

10-15 20:43