Websocket 客户端到服务器发送 Float32Array - 我做错了什么
Websocket Client to Server sending a Float32Array - what am I doing wrong
我正在将一个类型的 Float32Array 发送到一个节点 ws 服务器,我得到的值与我发送的值非常不同。使用相同的确切数据,在使用Uint8Array时一切都很好。
客户端归结为这样:
client.connection.send(new Float32Array([1.5,3.14]).buffer);
在服务器端:
var data = new FloatArray32(msg); // data is
{
'0': 0,
'1': 0,
'2': 192,
'3': 63,
'4': 195,
'5': 245,
'6': 72,
'7': 64
}
如果我更改要发送到Uint8Array
的数组的类型,则接收到的数据是
{'0': 1, '1': 3 }
对于给定类型,这是正常的(我认为?
那么,我是否做错了什么,或者这是ws模块的错误?
数据对我来说是正确的。它是两个小端格式的 32 位浮点数。
要验证:
var buf = new Buffer([0,0,192,63,195,245,72,64]);
console.log(buf.readFloatLE(0));
// outputs: 1.5
console.log(buf.readFloatLE(4));
// outputs: 3.140000104904175
我不确定是否有办法从Buffer
直接回到Float32Array
,但是如果需要,您可以这样做:
var fa = new Float32Array(buf.length / 4);
for (var i = 0, p = 0; i < buf.length; i += 4, ++p)
fa[p] = buf.readFloatLE(i);
相关文章:
- 正在尝试为Docpad网站设置Lunr全文搜索插件.我做错了什么
- 重新加载重复数据失败,我做错了什么
- 我做错了什么
- Google Apps 脚本为 getLastRow 抛出电子邮件失败通知,我做错了什么
- Javascript语法 - 我做错了什么
- 角度灯箱不起作用.我做错了什么
- 在这个猫鼬独特的保存前验证中,我做错了什么
- 简单的Youtube iframe API就在文档中,我做错了什么
- 我正在尝试实现一个AJAX调用.我做错了什么
- 我对这个动态查询做错了什么
- 我在jQuery事件处理和隐藏/显示图像元素方面做错了什么
- 闭包中的本地变量从外部更改.这是一个javascript错误,或者我做错了什么
- JS离线检测?我做错了什么
- Jquery自动完成不是't工作.我做错了什么
- 是ngRouter的角度错误还是我做错了什么
- jQuery Toggle——我做错了什么
- javascript原型,我做错了什么
- 超级初学者JavaScript..我做错了什么
- 我在这里做错了什么?否则,如果
- Javascript和HTML - 添加一个下拉菜单,我在这里做错了什么