如何以 1 分钟的间隔向 tcp 服务器发送数据 [英] How to send data to tcp server on 1 minute interval
本文介绍了如何以 1 分钟的间隔向 tcp 服务器发送数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在逐行读取 csv 文件并存储在数组中.现在我想以 1 分钟的时间间隔将 csv 数据逐行发送到 tcp 服务器.我的代码如下......我应该在我的代码中更改什么?
I am reading a csv file line by line and storing in an array. Now I want to send line by line csv data to tcp server on 1 minute interval. My code is below ...what should I change in my code?
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');
});
推荐答案
假设 csvData
是一个包含您要发送的行的数组,您可以执行以下操作:
Assuming csvData
is an array with the lines of that you want to send, you can do something like :
.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 )
});
这篇关于如何以 1 分钟的间隔向 tcp 服务器发送数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文