2013-07-11 5 views
0

나는 아주 간단한 서버가Node.js : 어떤 HTTP 예외가 발생할 수 있습니까?

http.createServer(function(request, response) { 
    response.writeHead(200); 
    response.end("Hello world"); 
}).listen(8080); 

listen EADDRINUSE 제외하고는 어떤 예외를 던질 수 있나요?
요청을 보내는 도중에 사용자가 연결을 끊으면 오류가 발생할 수 있습니까? 아니면 이런 식으로?

답변

1

연결이 끊어진 클라이언트와 같은 시나리오에서는 예외가 발생하지 않습니다. 이는 매우 '정상적인'동작입니다.

http.createServer을 호출하는 순간 EADDRINUSE 예외가 throw됩니다. 소켓을 만들려고 시도하므로 포트가 이미 사용중인 경우 실패합니다.

이벤트가 진행되는 동안 클라이언트 연결이 끊어 지거나 시간이 초과되거나 이와 유사한 상황이 발생합니다. 이러한 이벤트는 비동기식으로 발생하므로 아무 곳이나 node.js 실행에 던져 질 수 없습니다.

당신은 여전히 ​​요청이 자체 이벤트를 가지고 있고, 그들에 가입해야합니다, 여기 당신이 필요로 덮 좋은 답변입니다 : node.js http server, detect when clients disconnect

관련 문제