请使用ping命令去ping网络上的jsjjx.ahu.edu.cn主机再计算途径多少个路由中转?

JavaScript09

请使用ping命令去ping网络上的jsjjx.ahu.edu.cn主机再计算途径多少个路由中转?,第1张

你在命令行输入 ping jsjjx.ahu.edu.cn ,然后看TTL剩余的数目就能大致估算了。

例如我的结果是

那么大致可以推算出经过了64-48 = 16次路由中转。

可以在javascript中ping一个ip地址:以下是自定义的实现函数:function Pinger_ping(ip, callback) { if(!this.inUse) {this.inUse = true this.callback = callbackthis.ip = ip var _that = this this.img = new Image() this.img.onload = function() {_that.good()} this.img.onerror = function() {_that.good()} this.start = new Date().getTime() this.img.src = "http://" + ip this.timer = setTimeout(function() { _that.bad()}, 1500)}}用法如下:传入ip和callback参数:比如192.0.8.10 和 mycallBacksetTimeout的返回值就可以判断了。

let ping = require('child_process').spawn('ping',['127.0.0.1'])

let iconv = require('iconv-lite')

ping.stdout.on('data',data=>{

    let str = iconv.decode(data,'cp936')

    console.log(str)

})

ping.stderr.on('data',data=>{

    console.log(data)

})

ping.on('close',code=>{

    console.log('Ping 结束')

})

//之前是通过exec 来调用,不过当时没有进行测试,想当然的认为是可以的,抱歉。

//以上引入iconv-lite 是为了解码中文