SocketIO로 클라이언트 연결을 끊고 말 그대로 연결을 닫는 방법이 있습니까? 누군가가 내 서버에 연결되어 있고 내가 그들과 내 서버 사이의 연결을 끊고 싶다면 어떻게해야할까요?
답변
편집 : 이제 가능합니다
이제 socket.disconnect()
서버 측에서 간단히 호출 할 수 있습니다 .
내 원래 대답 :
이것은 아직 불가능합니다.
필요한 경우이 문제 에 투표 / 댓글을 달아주세요 .
답변
socket.disconnect()
서버 측이 아닌 클라이언트 측에서만 사용할 수 있습니다.
Client.emit('disconnect')
서버에서 연결 해제 이벤트를 트리거하지만 클라이언트 연결을 효과적으로 해제하지는 않습니다. 클라이언트는 연결 끊김을 인식하지 못합니다.
그래서 질문은 남아 있습니다 : 클라이언트가 서버 측에서 연결을 끊도록 강제하는 방법?
답변
서버가 연결 해제 기능을 호출하게하는 메시지를 클라이언트에 보낼 수없는 이유는 무엇입니까?
클라이언트에서 :
socket.emit('forceDisconnect');
서버에서 :
socket.on('forceDisconnect', function(){
socket.disconnect();
});
답변
소켓의 이름이 지정된 소켓이라고 가정하면 다음을 사용하십시오.
socket.disconnect()
답변
Google에서 이것을 찾은 사람들을 위해-지금 이에 대한 해결책이 있습니다.
Socket.disconnect()
클라이언트를 킥합니다 (서버 측). 클라이언트가 연결 상태를 유지할 기회가 없습니다. 🙂