2011-08-25 11 views
5

node.js 서버에 연결된 socket.io 클라이언트가 있습니다. 커맨드 라인에서 node.js를 죽이면 클라이언트가 즉시 정지 (즉, 통신이 중지됨)하지만 "연결 해제"이벤트가 시작되기까지 ~ 20 초가 지연됩니다. 이 동작은 의도적입니까? 연결 끊기 이벤트 발생시 지연을 줄이기위한 구성 옵션이 있습니까?"disconnect"이벤트 발생시 Socket.io 지연?

socket.io의 비교적 최근 (지난 6 개월) 업데이트에서이 동작이 변경된 것으로 보입니다. 재접속 기능이 socket.io 자체에 내장되기 전에 "disconnect"이벤트 처리기를 사용하여 자체 재 연결 논리를 구현했으며 서버 연결이 중단되면 즉시 "연결 끊김"이벤트가 거의 즉시 발생했습니다.

답변

6
+1

이 질문에 대한 답변조차되지 않습니다. 어떻게 받아 들일 수 있습니까? 또는 시간 초과가이 문제점을 어떻게 수정하는지 설명하지 않도록하십시오! – Iamisti

2

이것은 디자인 패턴 일 가능성이 높습니다. 클라이언트는 서버가 '일시적으로'연결할 수 없다고 생각할 수 있습니다 (네트워크 트래픽 등). 클라이언트 시간 제한이 시작될 때까지 본질적으로 도달하려고합니다 ...

나는 disconnect (socket.disconnect() 클라이언트에서 직접 서버에 연결하면이 문제가 발생하지 않습니다.