Tag: 缓冲

将ieee754转换为十进制的节点

我在节点<Buffer 42 d9 00 00>中有一个缓冲区,应该表示小数点108.5。 我正在使用此模块尝试解码缓冲区: https : //github.com/feross/ieee754 。 ieee754.read = function (buffer, offset, isLE, mLen, nBytes) 参数意思如下: buffer = the buffer offset = offset into the buffer value = value to set (only for write) isLe = is little endian? mLen = mantissa length nBytes = number of bytes 我尝试读取值: ieee754.read(buffer, 0, false, […]

如何读取使用nodejs时从arduino获得的缓冲区数据?

我目前正在arduino上使用脉冲传感器,并试图从传感器获取数据,并试图在浏览器上显示它。 这就是我的nodejs代码的样子。 var SerialPort = require("serialport").SerialPort var serialPort = new SerialPort("/dev/cu.usbserial-DA011OXR", { baudrate: 57600 }); serialPort.on('open', showPortOpen); serialPort.on('data', saveLatestData); serialPort.on('close', showPortClose); serialPort.on('error', showError); function showPortOpen() { console.log('port open. Data rate: ' + serialPort.options.baudRate); } function showPortClose() { console.log('port closed.'); } function showError(error) { console.log('Serial port error: ' + error); } function saveLatestData(data) { console.log(data); latestData […]

发送缓冲区到Node.jssubprocess

在浏览器中,发送缓冲区而不是常规数组会更快。 这是通过以下方式完成的: // create data that can be transfered var myData = [1,3,5,78,1,2,45,6,5,12]; var buffer = new Float64Array(myData.slice()); var worker = new Worker("some_worker.js"); // transfer the buffer worker.postMessage({buffer: buffer}, [buffer]); 有没有一种方法可以在Node.js的subprocess上使用相同的技巧? 这是否会显着加速沟通? 例如,我将如何修改以下脚本来加快速度: var cp = require('child_process'); // create data that can be transfered var myData = [1,3,5,78,1,2,45,6,5,12]; var child = cp.fork('some_worker.js'); // transfer the […]

Node.js使用fs.readFileSync读取大文件

我尝试使用96GB RAM的服务器上的fs.readFileSync将大文件( 〜6Gb )加载到内存中。 问题是它失败并出现以下错误消息 RangeError:尝试分配大于最大大小的缓冲区:0x3fffffff个字节 不幸的是,我没有find如何增加缓冲区,这似乎是一个常数。 我如何克服这个问题,并用Node.js加载一个大文件? 谢谢!

BE或LE在缓冲区function中意味着什么?

我有一个PHP类,用于读取我转换为NodeJS的二进制数据,或者在NodeJS中查找相当于一些function的二进制数据。 我对这个BinaryReader类感兴趣的函数是ReadULong和ReadUShort 。 我相信这些意味着读取无符号长整型(4字节)和无符号短整型(2字节)。 正如我试图在NodeJS中find这些等价物,我很困惑在这些之间使用哪个函数: buf.readUInt16LE(offset, [noAssert]) buf.readUInt16BE(offset, [noAssert]) buf.readUInt32LE(offset, [noAssert]) buf.readUInt32BE(offset, [noAssert]) LE或BE在这种情况下代表什么? 缓冲区文档位于这里,但我无法find这里的解释。 另外我在PHP类上find一个常量,它表示const DEFAULT_BYTE_ORDER = 'L'; 。 这和L在readUInt32LE吗? 这是关于Byte Orders的全部内容吗? 到目前为止,我读过这些文章: 好的来源在cplusplus.com查找variablestypes。 PHP逐字教程和二进制math 如何读取二进制文件逐字节在Node.js问题在stackoverflow 如果我可以给更多的参考阅读二进制阅读,将不胜感激!

使用node.js进行缓冲audio播放的algorithm/技术

我正在使用node.js从networking播放audiostream,如广播电台或mp3stream。 数据stream如下所示: 广播电台(mp3audio) – >我的node.js脚本 – > lame mp3解码器(node-lame) – > PCM输出到soundcard(节点声音)。 问题是,由于networking延迟,播放有时会中断。 所以我所做的就是将所有数据块缓冲到一个variables中。 一旦variables大小达到(1Mb),我开始从variables而不是直接播放声音。 解决了打破的播放。 我的问题是 – 我可能不需要等到缓冲区大小达到1Mb。 我确定有一个algorithm或一些计算来检测平均networking速度或延迟,并确定不间断播放的最佳缓冲区大小 。 当然,我可以想出一些草率的解决scheme,但我想知道是否有任何algorithm或技术,我想完成什么? 我search了一些关于DSP的帧大小的白皮书,但是来自社区的build议会很棒。

在io.js中使用smalloc

io.js的第一个版本是在这个月出来的,当我发现在io.js中引入了一个新的模块时,我正在阅读文档。 直到今天,我从来没有觉得有必要在JavaScript中这样做。 我的问题是: 我想知道在javscript中是否真的需要使用smalloc进行原始内存分配? 如果需要,那么为什么? 使用smalloc的用例是smalloc ? 如果不是那么为什么io.js会员添加这个模块? 它也说 可能的是指定您想要的外部数组数据的types。 所有可能的选项都在smalloc.Types中列出。 用法示例: var doubleArr = smalloc.alloc(3, smalloc.Types.Double); 这里是分配支持的types列表 smalloc.Types# Int8 Uint8 Int16 Uint16 Int32 Uint32 Float Double Uint8Clamped 我们试图让JavaScript成为一种强types语言吗?

电子:从主发送缓冲区到渲染器

在主stream程中,我有一个简单的Uint8Array ,我想把它发送给渲染器进程。 sender.send将所有东西都转换成JSON,所以它不能用于二进制数据。 有这个简单的解决scheme吗?