node.js 서버를 정상적으로 구현했습니다. 이런 기본적으로 뭔가 :이 같은 서버를 닫을 때http 서버를 닫을 때 소켓이 끊기는 이유는 무엇입니까?
var shutDown = function() {
server.on('close', function() {
console.log('Server ' + process.pid + ' closed.');
process.exit();
});
console.log('Shutting down ' + process.pid + '...');
server.close();
}
그러나, 내 지속적인 요청에 Error: socket hang up
오류가 발생합니다.
나는 server.close()
을 사용하여 서버가 수신 대기 및 새 요청 수락을 중단하지만 보류/요청 열기를 모두 처리한다고 생각했습니다. 그러나 그 결과는 Error: connect ECONNREFUSED
이됩니다.
내가 뭘 잘못하고 있니?
추가 정보 : 서버는 마스터와 3 명의 분기 된 어린이/근로자로 구성됩니다. 그러나 주인은 포트를 듣거나 구속력이 없으며, 아이들 만이 위와 같습니다.
그들에게 나는 자신을 닫습니다 :) 하지만 연결 번호를 확인하고 아무 것도 남지 않으면'close()'를 호출하면 연결이 끊어 질 때까지 오랜 시간이 걸릴 수 있습니다. 문서에서 보았을 때, 나는'close()'를 호출 한 후 서버가 듣기를 멈추고, 모든 보류중인 요청이 처리 될 때까지 기다렸다가 그 후에 만'exit()'를 기다릴 것이라고 생각했다. 그게 내가하고있는 일이고, 그게 소켓 끊기가 일어나는 곳이야. 뭔가 잘못 해석했을 것입니다. – nekaab
흠. 이상 하네. console.log ('Remaining connections :'+ server.connections);와'server.close()'의 직후에'console.log ('Remaining connections :'+ this. .connections);'process.exit()'바로 앞에. 아마도 유용한 정보를 줄 것입니다. – pieman72