2013-12-09 4 views
0

Я использую socket.io на стороне сервера (и клиента).испускать локальное событие с socket.io

Что я хочу сделать, это вызвать событие при отключении. Но он, похоже, не подбирается локально.

На сервере узла у меня есть:

sock.on('chat:leave', function(user){ 
    //delete user from chat room list 
}); 

sock.on('disconnect', function(){ 
    var user = sock.user; 
    sock.emit('chat:leave', user); 
}); 

Это, однако, не работает - разъединение стреляет, когда я закрываю окно браузера, но chat:leave излучаемый disconnect обратного вызова не получает подобран обработчик sock.on('chat:leave').

ответ

2

Я думаю, вам нужно переписать код (AFAIK, что вы пытаетесь сделать, это не возможно):

var userLeft = function(user) { 
    // delete user from chat room list 
}; 
sock.on('chat:leave', userLeft); 
sock.on('disconnect', function() { 
    userLeft(sock.user); 
}); 
+0

Вот как я получил это работает. Просто подумал, будет ли он слушать местные выбросы. – chovy

Смежные вопросы