I want to send disconnect event manually with custom parameter to socket.io server. I use this function but won\'t work:
//client
var userId = 23;
so
We can manage a global array at server side.
var sockets = [];
io.on('connection', function (socket) {
const id = socket.id ;
socket.on('user-join', function(data) {
sockets[id] = res.id;
});
socket.on('disconnect', function(data) {
io.emit('user-unjoin', {user_id: sockets[id],status:'offline'});
});
});
On clients side,
socket.on('user-unjoin', function (data) {
// update status of data.user_id according to your need.
});
This answer is inspired from Jackthomson's answer.