2017-08-11 29 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) 

}); 
相關問題