Socket.io отключить клиента по id

Я новичок в nodejs и пытаюсь написать чат, как и многие люди. Чат состоит из нескольких комнат и клиентов. Такие команды как/nick /join /help /ls users /ls rooms работать, как и следовало ожидать, хотя у меня проблемы с получением/kick Команда на работу.

Я просто не уверен, как вы отключаете клиента по идентификатору, пока/kick client в состоянии представить соответствующие клиенты socket.id, хотя я застрял для кода, чтобы пнуть через socket.id.

Код до сих пор:

Отключить клиент, который отправил/kick: socket.disconnect();

удалять клиент из Аргентины/kick client: delete io.sockets.sockets[client];

Удаление клиента не отключает их, хотя они могут получать данные, но не отправлять их.

решаемая

0,9 CuriousGuy работал безупречно, для тех, кто заинтересован - вот код, который я использую.

Сторона сервера:

handleClientKick(socket);

...

function handleClientKick(socket) {
  socket.on('kick', function(client) {
    if (typeof io.sockets.sockets[client] != 'undefined') {
      socket.emit('message', {text: nickNames[socket.id] + ' kicked: ' + nickNames[client]});
      io.sockets.sockets[client].disconnect();
    } else {
      socket.emit('message', {text: 'User: ' + name + ' does not exist.'});
    }
  });
}

Сторона клиента:

kickClient = function(client) {
  this.socket.emit('kick', client);
};

Ответы на вопрос(1)

Ваш ответ на вопрос