我想使用 node.js 来 ping 本地网络中的主机。这是我的代码:
var ping = require('ping');
var host2 = ['192.168.0.1', '192.168.1.2', '192.168.2.3'];
host2.forEach(function(host){
ping.sys.probe(host, function(active){
var info = active ? 'IP ' + host + ' = Active' : 'IP ' + host + ' = Non-Active';
console.log(info);
});
});
此代码仅运行 (ping) 一次。我想要的只是连续 ping。这在 node.js 中可行吗?
编辑:当我运行代码时:
编辑 2: 使用 setInterval/setTimeout 时:
代码:
var ping = require('ping');
var host2 = ['192.168.0.1', '192.168.1.2', '192.168.2.3'];
host2.forEach(function(host){
ping.sys.probe(host, function tes(active){
var info = active ? 'IP ' + host + ' = Active' : 'IP ' + host + ' = Non-Active';
console.log(info);
});
setInterval(tes, 2000);
});
结果:
最佳答案
显而易见的答案是:
var ping = require('ping');
var host2 = ['192.168.0.1', '192.168.1.2', '192.168.2.3'];
var frequency = 1000; //1 second
host2.forEach(function(host){
setInterval(function() {
ping.sys.probe(host, function(active){
var info = active ? 'IP ' + host + ' = Active' : 'IP ' + host + ' = Non-Active';
console.log(info);
});
}, frequency);
});
这将每秒 ping host2
数组中的每个主机一次。
关于javascript - 使用 Node.Js 在 CMD 中连续 Ping 就像 Ping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44193551/