nodejs+express实现ping命令并返回信息

1.效果如下

2.后台代码

 app.post('/pings', function(req, res) {

            //ping
            if (req.body.tyspes == "Ping") {
                let  ping  =  require('child_process').spawn('ping', [req.body.ip]);
                let  iconv  =  require('iconv-lite');
                var all = ""
                    //  var logname = __dirname + '/' + 'log.txt';
                ping.stdout.on('data', data => {    
                    // fs.writeFileSync(logname, iconv.decode(data, 'cp936'))
                    // let info = fs.readFileSync(logname, 'utf8')
                    all += iconv.decode(data, 'cp936')
                        // res.send(info)
                        //  console.log(info)
                })
                ping.stderr.on('data', data => {    
                    // console.log(data);
                })
                ping.on('close', code => {
                    console.log('data:', all);
                    res.send(all)
                })
            } else {
                //toraceroute
                const Traceroute = require('nodejs-traceroute');
                var all2 = ""
                const tracer = new Traceroute();
                tracer
                    .on('pid', (pid) => {
                        all2 += `pid: ${pid} \n`;
                    })
                    .on('destination', (destination) => {
                        all2 += `destination: ${destination} \n`;
                    })
                    .on('hop', (hop) => {
                        all2 += `hop: ${JSON.stringify(hop)} \n`;
                    })
                    .on('close', (code) => {
                        all2 += `close: code ${code}`;
                        res.send(all2)
                    });

                tracer.trace(req.body.ip);

            }
        })

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值