0
2 포트 (포트 80 및 8080)를 수신하는 노드 서버를 작성하고 있습니다. sudo
인 경우 작동합니다. 내가 포트 80에 연결할 수 없다면 포트 8080에서만 실행되도록하고 싶지만 어떻게 그 케이스를 감지 할 수 있을지는 모른다. 나는node.js에서 런타임시 포트 80에서 실행할 수 있는지 확인하는 방법은 무엇입니까?
var ports = [80, 8080];
var servers = [];
var goodPorts = [];
for (var ii = 0; ii < ports.length; ++ii) {
var port = ports[ii];
var server = http.createServer(handleRequests);
try {
server.listen(port);
servers.push(server);
goodPorts.push(port);
} catch (e) {
// not sure how to check for this. Maybe this?
if (e.toString().indexOf("EACCES") < 0) {
throw e;
} else {
console.error("could NOT connect to port: " + port);
}
}
}
console.log("Listening on port(s): " + goodPorts.join(", ") + "\n");
같이 server.listen
라고하지만 server.listen
throw하지 않습니다 때 던질 것입니다 희망했다. 예외는 설정 후 언젠가 발생합니다. . (즉, 하단에 그 console.log
후
나는 그것이 런타임에서 일 것 어떻게 확인할 수 있습니다
http://stackoverflow.com/questions/19129570/how-can-i-check-if-port-is-busy-in-nodejs –