2014-01-30 3 views
0

Вот мой код:Как я могу закрыть сервер socket.io?

var app = express(); 
var server = http.createServer(app); 
var io = socketio.listen(server); 

var sockets = []; 

io.sockets.on('connection',function(socket){ 
    console.log('client connecting'); 
    sockets.push(socket); 
}); 

server.listen(5000); 

setTimeout(function(){ 
    io.server.close(); // same as server.close() 
    sockets.forEach(function(socket){ 
     socket.disconnect(true); 
    }); 
},5000); 

После 5 таймаут я все еще получаю связи сек ... Как это остановить? Я хочу просто убить его навсегда!

+0

Возможный дубликат [Socket.io - Закрыть сервер] (http://stackoverflow.com/questions/16000120/socket-io-close-server) –

+0

socket.disconnect (true); –

+0

Это не работает - все еще клиенты io могут подключаться ... – user606521

ответ

0

Согласно методу source code (см. Метод disconnect(close)), для закрытия базового соединения требуется параметр true.

socket.disconnect(true); 
+0

Не работает - все еще клиенты io могут подключаться ... – user606521

0

Вы можете использовать

socket.destroy(); 

Вы можете получать соединения из-за переподключение попыток, сделанных клиентами.

+0

Сокет не имеет метода destroy(). Да, клиенты повторно подключаются. – user606521

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