gpt4 book ai didi

javascript - 如何检查服务器和端口在 nodejs 中是否可用?

转载 作者:搜寻专家 更新时间:2023-11-01 00:18:01 24 4
gpt4 key购买 nike

我的项目是用 Nodejs 编写的。我需要知道如何检查具有端口的 IP 是否可以连接到。

例如:检查 example1.com 443 =>true ;检查 example1.com 8080 =>false

谢谢

最佳答案

了解服务器/端口是否可用的唯一方法是尝试实际连接到它。如果您知道服务器响应 ping,则可以在服务器外运行 ping,但这只会告诉您主机是否正在运行并响应 ping,它不会直接告诉您是否要连接到服务器进程正在运行并接受连接。

真正知道它正在运行并接受连接的唯一方法是实际连接到它并报告它是否成功(注意这是一个异步操作):

var net = require('net');
var Promise = require('bluebird');

function checkConnection(host, port, timeout) {
return new Promise(function(resolve, reject) {
timeout = timeout || 10000; // default of 10 seconds
var timer = setTimeout(function() {
reject("timeout");
socket.end();
}, timeout);
var socket = net.createConnection(port, host, function() {
clearTimeout(timer);
resolve();
socket.end();
});
socket.on('error', function(err) {
clearTimeout(timer);
reject(err);
});
});
}

checkConnection("example1.com", 8080).then(function() {
// successful
}, function(err) {
// error
})

关于javascript - 如何检查服务器和端口在 nodejs 中是否可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29069111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com