您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

是否可以从Javascript ping服务器?

是否可以从Javascript ping服务器?

我发现有人通过非常巧妙地使用本机Image对象来完成此任务。

从其来源看,这是主要功能(它依赖于来源的其他部分,但您可以理解)。

function Pinger_ping(ip, callback) {

  if(!this.inUse) {

    this.inUse = true;
    this.callback = callback
    this.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);

  }
}

这适用于我测试过的所有类型的服务器(Web服务器,FTP服务器和游戏服务器)。它还适用于端口。如果有人遇到失败的用例,请在评论中发布,我将更新答案。

:以前的链接已被删除。如果有人发现或实现了上述内容,请发表评论,我将其添加到答案中。

:@trante足以提供jsfiddle

http://jsfiddle.net/GSSCD/203/

:@Jonathon使用实现创建了一个GitHub存储库。

https://github.com/jdfreder/pingjs

:看来此实现不再可靠。人们还报告说Chrome不再支持所有功能,从而引发net::ERR_NAME_NOT_RESOLVED错误。如果有人可以验证替代解决方案,我将其作为公认的答案。

javascript 2022/1/1 18:21:55 有281人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶