2013-05-13 3 views
37

Socket.io를 사용하고 있으며 클라이언트 측에서 서버에 대한 연결 상태를 알고 싶습니다. 이런Socket.io 클라이언트에서 연결 상태 가져 오기

예시 :

socket.status // return true if connected, false otherwise 

는 I 연결이 떨어졌다 또는 어떤 이유로 분리 한 경우 사용자에게 시각적 피드백을 제공하기 위해이 정보를 필요로한다.

+1

socket.io 클라이언트를 사용하고 있습니까 : https://github.com/LearnBoost/socket.io-client 또는 간단한 socket.io 라이브러리? – Shubhansh

+0

저는 Node.js에서 제공되는 자바 스크립트 파일을 사용하고 있습니다. 그래서 처음 것 같습니다. – franzlorenzon

답변

76

당신은 socket.connected 속성을 확인할 수 있습니다 연결이 클라이언트가 연결을 다시 집어 때까지 false로 설정됩니다 손실되는 경우가 동적으로 업데이트

var socket = io.connect(); 
console.log('check 1', socket.connected); 
socket.on('connect', function() { 
    console.log('check 2', socket.connected); 
}); 

. 그래서 setInterval 또는 이와 비슷한 것으로 확인하기 쉽습니다.

또 다른 해결책은 disconnect 이벤트를 잡아 자신의 상태를 추적하는 것입니다.

+2

완벽하게 작동합니다. docs에서이 프로퍼티를 찾지 못했기 때문에 소중한 정보를 주셔서 감사합니다;) – franzlorenzon

+7

'socket' 변수를 사용하여 console.log를 찾았습니다.) – robertklep

+0

롤, 나도 그렇게 해 봤어. 다시 한 번 감사드립니다 :) – franzlorenzon

4

연결이이 기능을 사용하여 인사를 분실하거나하지 않은 wheather를 확인할 수 있습니다 : -

var socket = io(/**connection**/); 
socket.on('disconnect', function(){ 
//Your Code Here 
}); 

은 당신을 도울 것입니다 바랍니다.

관련 문제