【问题标题】:Stream ArrayBuffer websocket binary.jsStream ArrayBuffer websocket binary.js
【发布时间】:2014-07-21 02:23:29
【问题描述】:

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

为什么会这样?谢谢:)

【问题讨论】:

  • 通过设置client.binaryType = "arraybuffer";找到了解决方案
  • 酷 - 回复自己并标记为答案!

标签: javascript binary websocket arraybuffer


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2016-08-25
    • 2021-12-17
    • 2017-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 2016-09-30
    • 2012-03-21
    相关资源
    最近更新 更多