2012-04-29 2 views
1

방금 ​​nodejs로 시작하여이를 사용하여 서버를 만들었습니다. 클라이언트는 socket.io를 사용하여 클라이언트에 연결하고, 처리 할 작업을 수신 한 다음 결과를 nodejs 서버로 다시 보냅니다. 비정기적인 ECONNREFUSED 오류

그러나 서버는 다음과 같은 오류와 함께 이따금 충돌합니다 :

node.js:201 
    throw e; // process.nextTick error, or 'error' event on first tick 
     ^
Error: connect ECONNREFUSED 
    at errnoException (net.js:614:11) 
    at Object.afterConnect [as oncomplete] (net.js:605:18) 

나는이 원인을 모른다.

+1

소스 코드를 전혀 공유 할 수 있습니까? – Menztrual

+0

출처 없음 = 대답 없음. – Hello71

+0

출처를 게시 할 수있는 좋은 곳은 어디입니까? 그래도 잠시 후에 그것을 내릴 수 있기를 원합니다. – Nyxynyx

답변

1

ECONNREFUSED는 다른 컴퓨터에 연결하려고 시도했지만 연결이 거부되었거나 아무도 듣지 않았거나 방화벽에서 사용자를 차단 한 것을 의미합니다.

나는 http를 사용하여 이것을 보았지만, 직선 소켓을 사용할 수도 있다고 생각한다.

+0

방화벽은 일반적으로'ECONNREFUSED'가 아닌 타임 아웃을 생성합니다. – Alnitak

+0

직장에서 방화벽에 의해 ECONNREFUSED가 발생했습니다. 그러나 당신의 상황은 다를 수 있습니다. – ControlAltDel

+0

저는 수십 개의 방화벽을 다루었습니다. 대부분은 블랙홀 인바운드 트래픽 일 것이고, 가짜'ECONNREFUSED'는 되돌려 보내지 않을 것입니다. – Alnitak

0

호출하려는 서버가 연결을 거부 할 때마다 node.js가 죽어가는 것이 어려울 수 있습니다. 시도해보십시오.

process.on('uncaughtException', function (err) { 
    console.log(err); 
}); 

오류가 기록되고 서비스가 계속 실행됩니다.

+0

불행히도이 빠른 수정은 매우 위험 할 수 있습니다. 'uncaughtException'에 대한 노드 문서를 참조하십시오 : https://nodejs.org/api/process.html#process_event_uncaughtexception – Paul

관련 문제