У меня есть сервер socket.io в моем приложении, слушая порт 5759.
В какой-то момент в моем коде мне нужно отключить сервер ТАК НЕ СЛУШАТЬ ЛЮБОЙ.
Как я могу это сделать?
Socket.io не прослушивает HTTP-сервер.
Ответ 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);
});
});