纯js实现ping功能,判断ip是否可以ping通
2022-12-26 本文已影响0人
扶得一人醉如苏沐晨
export function ping (ip) {
var img = new Image();
var start = new Date().getTime();
var flag = false;
var isCloseWifi = true;
var hasFinish = false;
img.onload = function () {
if (!hasFinish) {
flag = true;
hasFinish = true;
img.src = 'X:\\';
console.log('Ping ' + ip + ' success. ');
}
};
img.onerror = function () {
if (!hasFinish) {
if (!isCloseWifi) {
flag = true;
img.src = 'X:\\';
console.log('Ping ' + ip + ' success. ');
} else {
console.log('network is not working!');
}
hasFinish = true;
}
};
setTimeout(function () {
isCloseWifi = false;
console.log('network is working, start ping...');
}, 2);
img.src = 'http://' + ip + '/' + start;
var timer = setTimeout(function () {
if (!flag) {
hasFinish = true;
img.src = 'X://';
flag = false;
console.log('Ping ' + ip + ' fail. ');
}
}, 1500);
}