实际使用在了cn.costream.site中,项目中的这篇 Issue 是我记录的.
//ping 函数, 检测与内网连接是否能在100ms 内响应. 实测实验室电脑连接内网 ping 为 9-11ms 左右
function ping(ip,timeout,success,callback) {
var img = new Image()
var start = new Date().getTime()
img.src = /^(http)/.test(ip) ? ip + "?t=" + start : "http://" + ip + "?t=" + start
console.log(img.src)
var flag = false //无法访问
img.onload = function () {
flag = true
success()
console.log('ping ok')
}
img.onerror = function () {
flag = true
success()
console.log('ping error')
}
var timer = setTimeout(function () {
if (!flag) { //如果真的无法访问
flag = false
console.log('ping Timeout!')
callback()
}
}, timeout)
}
ping('http://202.114.18.86/icons/powered_by_rh.png',100,success,check)