我可以帮你翻译成中文。这段内容涉及到IT技术,发送Float32Array和ArrayBuffer的方式不同,但是接收方始终感觉缓冲区是空的。您应该如何发送数据? 如何访问它?
以下是我最新的尝试:
server.js
此外,只是因为我好奇,如何将二进制数据发送回服务器?
以下是我最新的尝试:
server.js
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8000 });
wss.on('connection', function connection(ws) {
var arr1 = new Float32Array(4);
for (var i = 0; i < arr1.length; ++i)
arr1[i] = (i + 100) / 7;
// ws.send(arr1.buffer);
var arr2 = new ArrayBuffer(8);
for(var i = 0; i < 8; i++)
arr2[i] = i * 17;
ws.send(arr2);
});
client.html
<!DOCTYPE html>
<html>
<head></head>
<body>
<script>
var gData = null;
var ws = new WebSocket("ws://192.168.0.7:8000");
ws.binaryType = 'arraybuffer';
ws.onmessage = function(message) {
console.log(message.data);
gData = message.data;
};
</script>
</body>
</html>
控制台输出
ArrayBuffer(8) {}
此外,只是因为我好奇,如何将二进制数据发送回服务器?