访问/处理ArrayBuffer @ http客户端(websocket连接,JavaScript)

时间:2015-01-24 21:43:28

标签: javascript arraybuffer

我之间有一个websocket连接 •Nodejs服务器(+ socket.io) •浏览器

从服务器向浏览器发出消息(来自Arduino的Udp消息)

udpSocket.on("message", function (msg, rinfo) {                          
    for (i = 0; i < msg.length; i++) {
        console.log(msg.readInt8(i)); 
}
    console.log("");     
    io.sockets.emit('message', msg);
});

浏览器中的代码(index.html):

A) 我开始时:

socket.on('message', function(message) {
    document.getElementById("ko1").innerHTML = message;
})

<p> Arduino sends: </p>
<p id="ko1"> <br>

浏览器中的结果:[object ArrayBuffer]

我的结论:信息即将传入,但必须以另一种方式处理。

B) 研究了解到我必须在数组缓冲区(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays)上使用DataView。我的代码:

socket.on('message', function(message) {
    var uint8 = new Uint8Array(message);
    document.getElementById("ko1").innerHTML = uint8[0];
})

结果:没有数据打印到浏览器

问题:我做错了什么?我也尝试了其他数据视图,但没有成功。这让我很生气。请帮忙。

0 个答案:

没有答案