2011-02-03 7 views
6

socketio/node를 사용하여 브라우저에 펑키 한 통계를 모든 표준 항목으로 출력합니다. 두 라이브러리의 최신 버전을 사용하고 있습니다. 지금, 나는이와 함께 문제의 몇 데 :SocketIO + Node - 연결 끊긴 상태 복구하기

1) 노드의 로그에 경고 메시지 :이 내가 좀의 성격으로 이해할 수있는 XHR 경고의 예입니다

(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit. 
Trace: 
    at CleartextStream.<anonymous> (events.js:101:17) 
    at [object Object].<anonymous> (/var/www/lib/other/Socket.IO/lib/socket.io/client.js:83:20) 
    at [object Object]._onConnect (/var/www/lib/other/Socket.IO/lib/socket.io/transports/xhr-polling.js:23:35) 
    at [object Object].check (/var/www/lib/other/Socket.IO/lib/socket.io/listener.js:77:12) 
    at Server.<anonymous> (/var/www/lib/other/Socket.IO/lib/socket.io/listener.js:33:14) 
    at Server.emit (events.js:45:17) 
    at HTTPParser.onIncoming (http.js:904:12) 
    at HTTPParser.onHeadersComplete (http.js:87:31) 
    at CleartextStream.ondata (http.js:820:22) 
    at CleartextStream._blow (tls.js:228:29) 

XHR은 여러 연결/연결 끊기입니다. 그러나, 내가 꽤 다른 클라이언트에 의해 연결되어있는 몇 가지 클라이언트가 동일한 얻을.

2) 임의 연결 끊김. 설명 할 수없는 이유로 연결이 무작위로 빠져 나옵니다. 이 기계 나 브라우저가 아니거나 특정 운송 수단이 아닙니다. 브라우저 연결은 업데이트 수신을 무작위로 중지합니다. 노드 로그에는 특정 연결 해제 메시지가 없으므로 브라우저를 수동으로 새로 고치면 문제가 해결됩니다.

그럼 궁금한 점은이 두 가지 문제가 관련되어 있거나 별개의 문제인지 여부입니다. 이러한 연결 중단이 발생 했습니까? 그렇다면 어떻게 그들을 해결할 수 있었습니까? 그것으로 아주 초조하게, 100 % 완전에 가깝게. 나는 내 응용 프로그램의 페이지를 보는 모든 클라이언트가 원할 경우 심지어 몇 시간 동안 일관된 업데이트를받을 것이라는 지식에 따뜻하고 아늑한 느낌을 원합니다.

귀하의 도움과 조언을 많이 보내 주시면 감사하겠습니다.

건배,

피트

+0

사용중인 socket.io 및 노드의 버전은 무엇입니까? –

+0

socket.io를 사용하고 있으며 무작위로 연결이 끊어지는 것을 경험했습니다. 나는 더 많은 빛을 비출 수 있었으면 좋겠지 만, 왜 그것이 일어나는 지 모르겠습니다. 사용자가 말하는대로 재현하기가 어렵다. – mikeycgto

답변

3

은 내가 당신 선생님을위한 견고한 대답이 있었으면 좋겠다,하지만 난 적어도 전성 검사를 제공 할 수 있습니다.

저는 약 일주일 정도 라이브러리를 망치고 있습니다. 정확한 오류 및 websocket 연결이 (자연스럽게 기술을 지원하는 브라우저에서) 지속될 수없는 추가 오류를 보았습니다. 세션 ID가 떨어집니다. 일반적으로 아무 것도 안정적으로 작동하지 않습니다.

모든 공정성은 무료이며 베타 버전이므로 사용자가 가지고 있습니다.

Socket.io는 하나의 버그가 많은 라이브러리입니다.

+4

그것은 몇 가지 단점이 있지만 버그스런 라이브러리라고 부르는 것은 당신이 나에게 묻는다면 과장된 말입니다. 나는 더 나은 도서관을 만들거나 포크로 그것을 도전하고 당신이 더 나은 일을 할 수 있다고 생각한다면 그것을 고치겠습니다. – Alfred

+1

@ Alfred Right, 나는 또한 그것이 과장이라고 생각합니다. – XMen

+0

내 2c : "버그가있다"(불쾌한 단어)는 아니지만 크기가 큽니다. 아마도 그렇습니다. – Merc

1

글쎄, 나는 대답의 일부를 가지고있다. Guillermo Rauch (socket.io의 작성자)에 따르면이 오류는 완전히 메모리 누수가 아니라 전체 연결이 끊어 지므로 사라집니다. 설명하는 메일 링리스트에는 link이 있습니다.

따라서이 두 가지 문제가 관련되지 않을 수 있습니다. 나는 경고 메시지를 또한 경험한다. 그러나 나는 무작위적인 탈락에 문제가 없었다.

+1

스레드에서 언급했듯이 첫 번째 문제는 이제 해결되어야합니다. 그 외에도 Socket.IO는 지금까지 우리에게 잘 봉사 해 왔습니다.나는 드라크한 연결로 간주 할 수없는 연결 드롭을 보지 못했습니다. –