socket.io icon indicating copy to clipboard operation
socket.io copied to clipboard

Disconnect Reason

Open Valodya opened this issue 7 years ago • 2 comments

Note: for support questions, please use one of these channels: stackoverflow or slack

You want to:

  • [] report a bug
  • [x ] request a feature

Current behaviour

Server can disconnect a client only without reason

io.on('connection', (socket) => {
  setTimeout(() => socket.disconnect(true), 5000);
});

Steps to reproduce (if the current behaviour is a bug)

Note: the best way to get a quick answer is to provide a failing test case, by forking the following fiddle for example.

Expected behaviour

I'm looking for a way to disconnect a client with some reason (on the server), for example:

  • connection session time exceeded
  • user-token has become invalid
  • or something else

in the end I would like to have something like this:

//server
io.on('connection', (socket) => {
  setTimeout(() => {
     socket.disconnect(true, 'My super reason why the connection has been disconnected')
  }, 5000);
});

//client
socket.on('disconnect', (reason) => {
  // reason === 'My super reason why the connection has been disconnected'
});

please let me know if you are going to add the feature in future, or maybe there are any problems to implement it.

Setup

  • OS: any
  • browser: any
  • socket.io version: latest

Other information (e.g. stacktraces, related issues, suggestions how to fix)

Valodya avatar May 04 '18 11:05 Valodya