2017-08-11 72 views
0

我正在逐行读取csv文件并将其存储在数组中。现在我想在1分钟的时间间隔内逐行发送csv数据到tcp服务器。我的代码如下...我应该在代码中更改哪些内容?如何以1分钟的间隔向tcp服务器发送数据

var net = require('net'); 
var csv = require("fast-csv"); 
var querystring = require('querystring'); 
var i; 
var client = new net.Socket(); 
var csvData=[]; 
client.connect(7001, '54.168.67.139', function() { 
    console.log('Connected'); 
    csv 
    .fromPath("wabco.csv") 
    .on("data", function(data){ 
    var res = ""; 
    for (i = 2; i < data.length; i++) { 
      if (i == data.length-1) res += data[i]; 
      else res += data[i]+","; 
    } 
    res = res.substring(1,res.length-1); 
    //client.write(res); 
    //console.log(res); 
    csvData.push(res); 
}) 
.on("end", function(){ 
    //client.write(csvData[5]); 
    for (i = 0; i < csvData.length; i++) { 
      client.write(csvData[i]); 
    } 
}); 
}); 

client.on('close', function() { 
    console.log('Connection closed'); 
}); 

回答

0

假设csvData是的,你要送,你可以做类似的线的阵列:

.on("end", function(){ 

    let interval = 0, 
     i = 0; 

    interval = setInterval(function() { 

     // Send it 
     client.write(csvData[ i++ ]); 

     // Stop when we are on the last item 
     if (csvData.length === i) { clearInterval(interval); } 

    }, 1000 * 60) 

}); 
相关问题