2014-06-06 2 views
3

"오류 : 소켓 끊기"클라이언트가 페이지를로드하는 동안 클라이언트가 새로 고침을하면 노드가 계속 종료됩니다. 따라서 요청을 처리하는 동안 소켓이 종료됩니다. 오류 :Express :

[ERROR] - Error: socket hang up 
    at createHangUpError (http.js:1472:15) 
    at Socket.socketCloseListener (http.js:1522:23) 
    at Socket.EventEmitter.emit (events.js:95:17) 
    at TCP.close (net.js:465:12) (at lib/Maintenance.js:38) 

난에 on('error', ...를 연결 시도 :

  1. req 객체
  2. listen의 반환 값 (I 익스프레스를 사용하고 있습니다)
  3. 의 반환 값 내 get, usepost 방법.

하지만 아직 그 오류를 잡을 수 없습니다. 그것은 여전히 ​​던져지고 어떤 오류 처리자도 반응하지 않습니다. 내가 뭘 놓칠 수 있니? 소켓이

app.use(function(req, res, next) { 
    req.socket.on("error", function() { 

    }); 
    res.socket.on("error", function() { 

    }); 
    next(); 
}); 

답변

8

는 ..

app.use(function(err,req, res, next) { 
    if(err)console.log(err); 
    next(); 
}); 
+0

감사 오류 리스너를 연결합니다! 나는 그것을 몇 가지 시도해 볼 것이다. 적절한 조치는 무엇입니까? 그냥 무시할 수 있을까, 아니면 어떻게 든'req' 객체의 모든 동작을 어떻게 든 멈추게 할 수 있을까요? – Domi

+0

@ 도미 @Domi 그것이 작동하는지 잘 모르겠다 ^^ – Esailija

+0

@Domi 올바른 것은이 특정 req/res에 대해 수행하고있는 모든 처리를 중지하는 것입니다 – Esailija

1

이 같은 오류를 잡기 시도하고 작동하는지 객체에

+2

나는 이미 그것을 가지고 있었다. 밝혀 지, 나는 그 이상이 필요했다. – Domi