私は基本的にセッション処理のためにcookies
を使用するアプリケーションを持っています。Socket.io Disconnect
目的は、ユーザーconnects
とdisconnects
は、
io.on('connection', function(socket){
// Logging when a new connection is, made!
socket.emit('cookie_user_log');
socket.on('cookie_value_log', function(x){
console.log(x+ " Joined the conversation! :)");
io.emit('welcome', x); // will display welcome HTML client-side message
});
これは完璧に動作し、私は、メッセージを表示することができていたときにメッセージを表示するときに、ユーザーconnects
。
しかし、同様のアプローチでは切断を処理することはできません。
socket.on('disconnect', function(){
leave();
});
function leave()
{
console.log("LEAVE IT");
socket.emit('cookie_user_leave');
socket.on('cookie_value_leave', function(x){
console.log(x+ " Left the conversation! :)");
io.emit('bye', x); // will display bye HTML client-side message
});
}
ここでの出力は次のとおりです。
LEAVE IT
とメッセージが表示されません! ご協力いただければ幸いです!
なぜあなたは既にされているソケットにメッセージを発することができるだろう切断された? – idbehold
さて、私はグループチャットのシナリオを思いついたと思います。あるユーザーが切断すると、「[user1] disconnected」などのメッセージがチャット全体にブロードキャストされます。私は間違って何をしていますか? – Arjun