Socket.io 클라이언트에서 연결 상태 가져 오기
Socket.io를 사용하고 있으며 클라이언트 측에서 서버에 대한 연결 상태를 알고 싶습니다.
이 같은:
socket.status // return true if connected, false otherwise
연결이 끊어 졌거나 어떤 이유로 든 연결이 끊어진 경우 사용자에게 시각적 피드백을 제공하기 위해이 정보가 필요합니다.
socket.connected
속성을 확인할 수 있습니다 :
var socket = io.connect();
console.log('check 1', socket.connected);
socket.on('connect', function() {
console.log('check 2', socket.connected);
});
동적으로 업데이트되며 연결이 끊어 false
지면 클라이언트가 연결을 다시 선택할 때까지 로 설정 됩니다. 확인하기가 너무 쉽습니다 setInterval
.
또 다른 해결책은 disconnect
이벤트 를 포착 하고 상태를 직접 추적하는 것입니다.
이 기능을 사용하여 연결이 끊어 졌는지 여부를 확인할 수 있습니다.
var socket = io( /**connection**/ );
socket.on('disconnect', function(){
//Your Code Here
});
도움이되기를 바랍니다.
연결 상태를 직접 추적하십시오. 부울로. false
at 선언으로 설정하십시오 . 다양한 이벤트 (연결, 연결 해제, 다시 연결 등)를 사용하여 현재 부울 값을 다시 할당합니다. 참고 : 문서화되지 않은 API 기능 (예 :)을 사용 socket.connected
하는 것은 좋은 생각이 아닙니다. 이 기능은 제거를 언급하지 않고 후속 버전에서 제거 될 수 있습니다.
요즘 socket.on ( 'connect', ...)이 작동하지 않습니다. 아래 코드를 사용하여 첫 번째 연결을 확인합니다.
if (socket.connected)
console.log('socket.io is connected.')
다시 연결할 때이 코드를 사용합니다.
socket.on('reconnect', ()=>{
//Your Code Here
});
확인 socket.connected에 대한 @robertklep의 대답은 재 연결 이벤트를 제외하고는 정확합니다. https://socket.io/docs/client-api/#event-reconnect 문서에서 "성공적인 재 연결시 실행"이라고 말했듯이. 그러나 확인하면 socket.connected
거짓입니다.
버그인지 의도적인지 확실하지 않습니다.
참고 URL : https://stackoverflow.com/questions/16518153/get-connection-status-on-socket-io-client
'developer tip' 카테고리의 다른 글
JsonConvert.DeserializeObject를 사용하여 Json을 C # POCO 클래스로 deserialize (0) | 2020.12.04 |
---|---|
파일이 포함 된 디렉토리가 있는지 확인하는 방법은 무엇입니까? (0) | 2020.12.04 |
setup.py가없는 프로젝트에서 어떻게 tox를 실행합니까? (0) | 2020.12.04 |
사용자 개입없이 앱 (웹 또는 설치된 앱)을 승인하려면 어떻게합니까? (0) | 2020.12.04 |
특정 색인 뒤의 목록에서 모든 요소 제거 (0) | 2020.12.04 |