📜  如何使用 JavaScript ping 服务器?

📅  最后修改于: 2022-05-13 01:56:25.643000             🧑  作者: Mango

如何使用 JavaScript ping 服务器?

ping 服务器用于确定它是否在线。这个想法是向服务器发送一个回显消息(称为 ping),并且服务器应该回复一个类似的消息(称为 pong)。 Ping 消息是通过使用 ICMP(Internet 控制消息传递协议)发送和接收的。 ping 时间越短,主机和服务器之间的连接就越强。

方法:一种明显的方法是使用命令提示符向服务器发送 ping 消息。详情请参阅此帖。在本文中,我们将使用 Ajax 向所需的服务器发送请求,然后检查接收到的状态代码以确定服务器是否正在运行。这个想法是,如果服务器返回状态代码 200,它肯定是启动并运行。其他状态代码(如 400 等)指向可能的服务器中断。

下面是分步实现:

第 1 步:创建一个名为“ index.html ”的文件来设计基本网页。当用户点击网页上的按钮时,函数“pingURL”被调用。

HTML


  

    
    
    
    
    
    Ping a server using JavaScript

  

    
       
                  


index.js
function pingURL() {
  
  // The custom URL entered by user
  var URL = $("#url").val();
  var settings = {
  
    // Defines the configurations
    // for the request
    cache: false,
    dataType: "jsonp",
    async: true,
    crossDomain: true,
    url: URL,
    method: "GET",
    headers: {
      accept: "application/json",
      "Access-Control-Allow-Origin": "*",
    },
  
    // Defines the response to be made
    // for certain status codes
    statusCode: {
      200: function (response) {
        console.log("Status 200: Page is up!");
      },
      400: function (response) {
        console.log("Status 400: Page is down.");
      },
      0: function (response) {
        console.log("Status 0: Page is down.");
      },
    },
  };
  
  // Sends the request and observes the response
  $.ajax(settings).done(function (response) {
    console.log(response);
  });
}


第 2 步:创建“ index.js ”文件以向服务器发出请求。 “pingURL”函数在“settings”变量中定义了Ajax 请求所需的配置。

index.js

function pingURL() {
  
  // The custom URL entered by user
  var URL = $("#url").val();
  var settings = {
  
    // Defines the configurations
    // for the request
    cache: false,
    dataType: "jsonp",
    async: true,
    crossDomain: true,
    url: URL,
    method: "GET",
    headers: {
      accept: "application/json",
      "Access-Control-Allow-Origin": "*",
    },
  
    // Defines the response to be made
    // for certain status codes
    statusCode: {
      200: function (response) {
        console.log("Status 200: Page is up!");
      },
      400: function (response) {
        console.log("Status 400: Page is down.");
      },
      0: function (response) {
        console.log("Status 0: Page is down.");
      },
    },
  };
  
  // Sends the request and observes the response
  $.ajax(settings).done(function (response) {
    console.log(response);
  });
}

输出

  1. 在您的网络浏览器中打开网页。
  2. 按“ Ctrl+Shift+I ”导航到浏览器开发工具。
  3. 在表单输入中输入您希望 ping 的 URL,然后单击“提交”按钮。