如何使用 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);
});
}
输出
- 在您的网络浏览器中打开网页。
- 按“ Ctrl+Shift+I ”导航到浏览器开发工具。
- 在表单输入中输入您希望 ping 的 URL,然后单击“提交”按钮。