2012-11-27 2 views
13

Socket.IO에 문제가 있습니다.Socket.io 오류 처리

소켓 오류가 발생하면 소켓을 다시 연결하려고하는데 다시 연결하지 않습니다. 다음은 코드입니다.

socket = io.connect(host, options); 
socket.on('connect', this.onConnect); 
socket.on('error', function() { 
    //here i change options 
    socket = io.connect(host, options); 
}); 

왜 새 연결을 만들지 않습니까? (호스트와 포트는 일정하게 유지되며 첫 번째 연결에서 작동합니다).

+4

1)'error' 이벤트가 무엇입니까? 2) 새로운 연결을 생성하지 않는다는 것을 어떻게 알 수 있습니까? 3) 분명히 새로운 연결을 생성 할 때 모든 이벤트 핸들러를 한 번 더 설정해야합니다. – freakish

+1

1) "error"는 기본 socket.io 이벤트 (https://github.com/LearnBoost/socket.io/wiki/Authorizing)입니다. 2) 새 연결은 기록되지 않습니다. 3) 예, 할 수 있습니까? – user1856728

+0

로깅은 무엇입니까? 서버쪽에? 아니면 고객 측? – freakish

답변

9

{ 'force new connection': true }io.connect에 추가하십시오. 연결을 다시 시도하지 않는 것 같습니다.

소켓 IO는이 옵션을 지정하지 않으면 이미 시도한 호스트에 다시 연결하지 않습니다. 여기

는 옵션이있는 조각은 인라인 (in-line) 지정된 해시 :

io.connect(host, { 
    'force new connection': true 
}); 

당신은 여기에 옵션에 대한 자세한 내용을 확인할 수 : https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO