I'm trying to implement a small chat application where a user can able to send message to specific Id or set of Id's. I went through the socketio documentation and could find a proper solution. i tried this function
socket.broadcast.to(socketid).emit('message', 'for your eyes only');
but it didnt work.
    let onlineUsers = [];
    let sockets = {};
    module.exports = function (io,app) {
      io.on('connection', (socket) => {
            // Event for user connecting to socket
            socket.on('online', (data) => {
              if(data.username!=null){
                socket.name = data.username;
                onlineUsers.push(data.username);
                sockets[data.username] = socket.id;
                console.log(data.username+' online');
              }
            });
            socket.on('Chat', (data) => {
                socket.broadcast.to(sockets[data.receiver]).emit('message',data.message);
                socket.leave(name);
                console.log('message sent');
            });
    // Event for user going ofline
    socket.on('offline', () => {
        for (var i = 0, len = onlineUsers.length; i < len; i++) {
            if (onlineUsers[i] && onlineUsers[i].username === socket.name) {
                onlineUsers.splice(i, 1);
                delete sockets[socket.name];
                socket.broadcast.emit('offline', {
                    username: socket.name
                });
            }
        }
        console.log('offline');
    });    
}
 
     
    