2014-10-13 1 views
2

내가 "깔끔하게 끝내다"라는 말을 먼저 설명하겠습니다.nodej가 정상적으로 종료되지 않는 이유는 무엇입니까?

nodejs 응용 프로그램이 있고 정말로 오랫동안 setTimeout을 수행하거나 닫지 않은 소켓 연결을 열면 해당 응용 프로그램을 실행할 때 종료되지 않습니다. 그 이유는 아주 분명하고 좋은 생각입니다. nodejs가 작동하는 방식은 "더 이상 할 일이 없다", 일종의, 그리고 나서 끝날 때까지 기다리는 것입니다. 그게 좋은 일이고 나는 그 수술 방식을 좋아합니다. 또한 소켓을 깔끔하게 닫고 타이머가 누적되어 있지 않은 것에 관해 약간 훈육을 강요합니다. 또 다른 좋은 것.

그러나이 분야에 부합하지 않는 코드가 있으며 문제가 해결되지 않습니다. 코드가 어딘가에 열려있는 소켓을 남긴다 고 생각하지만 코드가 축소되어이 소켓이 열리는 지점을 찾기가 쉽지 않습니다.

제 질문은 nodejs를 쿼리하여 소켓이 열려 있는지 확인할 수있는 방법이 있습니까? IP 번호 등으로 이러한 목록을 보게되면 코드가 어디에 있는지 찾아 내기 위해 파기를 시작할 수 있습니다.

+0

왜 수동으로 소켓을 닫고 있습니까 ?? // 소켓 자체는 클라이언트가 연결 해제 될 때마다 닫힙니다. – Ravi

+0

이것은 nodejs 응용 프로그램에서 열린 소켓에 관한 것이므로 nodejs 응용 프로그램은 서버가 아니라 클라이언트입니다. –

+0

추가 통찰력을 얻었습니까? 현재 내 앱에서 비슷한 문제가 발생하고 있으며 앱이 왜 열려 있는지 궁금합니다. – Philiiiiiipp

답변

2

나는이에 도움이 패키지 쓴 : 내가처럼 내가 많은 다운로드를 얻을 이유를 알아 내려고 노력하면서 wtfnode

나는이 질문에 발견을; 이 질문은 지금 아주 오래된 것이지만, 나는 미래에 비슷한 용어를 찾는 누군가에게 도움이 될지도 모른다는 것을 알 수 있습니다.

원본 게시물의 추가 정보가 없으면 특정 문제가 무엇인지 말할 수 없지만 HTTP 연결 유지 (클라이언트 또는 서버)로 인한 느린 소켓이 있습니다.

+0

wtfnode가 정말 좋아 보인다. 아직 시도하지는 않았지만 정확히 내가 필요한 것입니다. "올바른"대답으로 표시하십시오. 잘 했어! –

+0

고마워 :) 미안하지만 도움이 필요하지 않을 때 도움이되지 못했지만, 더 많은 사람들이 도움을받을 수 있기를 바랍니다. –

관련 문제