Ответ 1
У вас есть сервер:
var io = require('socket.io').listen(8000);
io.sockets.on('connection', function(socket) {
socket.emit('socket_is_connected','You are connected!');
});
Чтобы прекратить получение входящих соединений
io.server.close();
ПРИМЕЧАНИЕ. Это не приведет к закрытию существующих подключений, которые будут ждать таймаута, прежде чем они будут закрыты. Чтобы немедленно закрыть их, сначала создайте список подключенных сокетов
var socketlist = [];
io.sockets.on('connection', function(socket) {
socketlist.push(socket);
socket.emit('socket_is_connected','You are connected!');
socket.on('close', function () {
console.log('socket closed');
socketlist.splice(socketlist.indexOf(socket), 1);
});
});
Затем закройте все существующие соединения
socketlist.forEach(function(socket) {
socket.destroy();
});
Логика взята отсюда: Как отключить сервер Node.js http? s) немедленно?