Socket.io force disconnect client

Возможно, я что-то делаю неправильно, но я не могу обойти это.

Не работает следующее:

клиент

$("#disconnectButton").click(function() {
  socket.emit("disconnect");
});

сервер

socket.on("disconnect", function() {
  console.log("this never gets called");
});

Не удается ли я вручную вызвать событие разъединения с клиентской стороны? Потому что следующие работы:

клиент

$("#disconnectButton").click(function() {
  socket.emit("whatever");
});

сервер

socket.on("whatever", function() {
  socket.disconnect();
  console.log("this gets called and disconnects the client");
});

Ответ 1

Событие

'disconnect' - это событие Socket.io, если вы используете emit для вызова 'disconnect', может быть причиной другого problom

так:

$("#disconnectButton").click(function() {
  socket.emit("disconnect");
});

заменить:

$("#disconnectButton").click(function() {
  socket.disconnect();
});