我正在使用NodeJS OpenPort模块并尝试找到两个开放端口:
var op = require('openport');
op.find({
startingPort: 49152,
endingPort: 65535,
count: 2,
createServer: function(ports, callback) {
console.log("op_createServer>> " + ports);
}},
function (err, ports) {
console.log("op_FoundPorts>> " + ports);
if(err) {
console.log(err);
return;
}
});
我所期待的是输出类似于:
op_createServer>> 49152 49153
相反它只是
op_createServer>> 49152
但它只返回一个找到的端口。我知道有一个事实,在49152到65535范围内有多个开放端口。
如何使用此createServer
函数确保ports
是一个数组或以某种方式从count
选项中提取所需的所有端口?
或者,是否有更好的节点模块用于查找开放端口?
答案 0 :(得分:0)
啊!我想出了答案。您不应该在createServer
调用中收集该端口数据。相反,它会进入常规回调。见这里:
op.find({
startingPort: 49152,
endingPort: 65535,
// http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
count: 2,
},
function (err, ports) {
console.log("op_FoundPorts>> " + ports);
if(err) {
console.log(err);
return;
}
});