사용자가 서버와 연결을 끊으면 세션 ID를 어떻게 알 수 있습니까?Socket.IO를 사용하면 연결이 끊긴 사용자의 세션 ID를 어떻게 알 수 있습니까?
현재 모든 기존 클라이언트에게 메시지를 다시 보내달라고 요청하는 추악한 방법이 있습니다.
socket.on('disconnect', function() {
// What’s the sessionid?
});
사용자가 서버와 연결을 끊으면 세션 ID를 어떻게 알 수 있습니까?Socket.IO를 사용하면 연결이 끊긴 사용자의 세션 ID를 어떻게 알 수 있습니까?
현재 모든 기존 클라이언트에게 메시지를 다시 보내달라고 요청하는 추악한 방법이 있습니다.
socket.on('disconnect', function() {
// What’s the sessionid?
});
socket.on('disconnect', function() {
console.log(this.id);
});
당신을 폐쇄했다 소켓의 ID를 제공합니다 그러나 이것은 해킹의 아마 더 ... 당신은 소켓에 데이터를 첨부 할 수 있습니다 :)
을 참조하십시오. 이것이 "정의되지 않았 으면"무엇을 의미합니까? – Kayvar
: 서버에 연결했을 때 :
var clients = {}
var client_id = 0;
io.sockets.on('connection', function (socket) {
socket.client_id = client_id; // or your `session_id`
socket.anyData = "foobar";
clients[client_id] = socket;
client_id++;
socket.on("disconnect", function() {
console.log(this.anyData) // prints: foobar
delete clients[this.client_id];
}
}
이 게시물 정말 도움이, 감사합니다 남자! – RozzA
내 대답이 실제로 질문에 대답하기에 충분하다고 생각하지 않으므로 삭제했습니다. 그러나, 나는 링크가 도움이 될 것 같아요 : http://chrissilich.com/blog/socket-io-0-7-sending-messages-to-individual-clients/ 간단히 말해, socket.id의 일부 해커입니다. –
감사합니다 - 그것은 그렇게 명백한 것 같지 않습니다 그래서 약간의 해커를 기대하고있었습니다! –
http://www.danielbaulig.de/socket-ioexpress/ – fent