Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 从文件读取时触发向客户端发送JSON数据_Node.js - Fatal编程技术网

Node.js 从文件读取时触发向客户端发送JSON数据

Node.js 从文件读取时触发向客户端发送JSON数据,node.js,Node.js,我有日志文件(1-2MB大小),我想使用node.js读取。多亏了本论坛的帮助,我使用了以下内容: new lazy(fs.createReadStream(clientMessage.selectedFile)) .lines .forEach(function(line){ sendData(line,client,playBackSpeed);}); sendData函数本质上是一个解析器,使用开关逐行从日志文件收集数据。下面是sendData函数中该解析器的一个片段: swit

我有日志文件(1-2MB大小),我想使用node.js读取。多亏了本论坛的帮助,我使用了以下内容:

new lazy(fs.createReadStream(clientMessage.selectedFile))
.lines
.forEach(function(line){
sendData(line,client,playBackSpeed);});
sendData函数本质上是一个解析器,使用开关逐行从日志文件收集数据。下面是sendData函数中该解析器的一个片段:

    switch (lineTokens[0]) //first token is the command idenitifier
    {
        case "$F":{ // heartbeat signal
                var elapspedTimeIndex = 4, flagIndex = 5;
                var heartBeat = "{\"heartBeat\": {\"elapsedTime\":"+ lineTokens[elapspedTimeIndex].trim() +", \"flag\":"+ lineTokens[flagIndex].trim() + "}}";
                var now = new Date().getTime();
                while(new Date().getTime() <= now + playBackSpeed) {} //sleep before we move on
                client.send(heartBeat);
            }
            return;
        }
}
switch(lineTokens[0])//第一个令牌是命令标识符
{
案例“$F”:{//心跳信号
var ElapsedTimeIndex=4,flagIndex=5;
var heartBeat=“{\'heartBeat\”:{\'elapsedTime\”:“+lineTokens[elapsedtimeIndex].trim()+”,“flag\”:“+lineTokens[flagIndex].trim()+“}}”;
var now=new Date().getTime();

while(new Date().getTime()将数据推送到FIFO缓冲区,并使用计时器事件发送数据

switch (lineTokens[0]) //first token is the command idenitifier
    {
        case "$F":{ // heartbeat signal
                var elapspedTimeIndex = 4, flagIndex = 5;
                var heartBeat = "{\"heartBeat\": {\"elapsedTime\":"+ lineTokens[elapspedTimeIndex].trim() +", \"flag\":"+ lineTokens[flagIndex].trim() + "}}";
                client.queue.add(heartBeat);
            }
            return;
        }
}

function checkQueue()
{
    var msg = client.queue.pop();
    if (!msg) return;
    client.send(msg);
}

function setSpeed(newSpeed)
{
    if (timerID)
        clearInterval(timerID);
    timerID = setInterval(checkQueue, playBackSpeed);
}

setSpeed(playBackSpeed);